MongoDB常用的语句

mongodb 可视化工具:

Robo3T。

DataGrip,对mongodb的日期格式不友好。

MongoDB常用的语句:

注意,凡是涉及到日期类型的,最好都用这种格式 ISODate(“2023-03-27T16:00:00.000Z”)

MongoDB倒序,查询:

db.getCollection('abcde').find().sort({ 'createTime': -1 })

MongoDB查询,限制个数:

db.getCollection('abcdef').find().sort({ 'createTime': -1 }).limit(10)

MongoDB插入数据

MongoDB不需要建表,直接插入数据就会建表。
日期用 ISODate() 转换。

db.getCollection("mongoDbTest").insert({userId:"dxcefg", status:1,  price:1.23, updateTime : ISODate("2022-02-13T07:06:25.371Z")})

MongoDB查询全部

MongoDB的 Collection(集合),类似于 数据库的表。

db.getCollection("mongoDbTest").find()

MongoDB条件查询

db.getCollection("mongoDbTest").find({userId:"abc", status: 1})

MongoDB模糊查询

//以abc开头
db.getCollection("mongoDbTest").find({userId: /^abc/})
//以abc结尾
db.getCollection("mongoDbTest").find({userId: /efg$/})

MongoDB查询数量

db.getCollection("mongoDbTest").find({userId: /^abc/}).count()

mongoDB查询日期:

lte 小于等于,gte 大于等于

db.getCollection('mongoDbTest').find({"startTime" : { "$lte" :  ISODate("2023-03-27T16:00:00.000Z")  },"endTime" : { "$gte" : ISODate("2023-03-27T16:00:00.000Z")  }
})

MongoDB新增字段

比如新增一个字段叫 fieldTest,如下 :

db.getCollection("mongoDbTest").update({},{$set:{ fieldTest:""}})

MongoDB修改字段名

//参数提示:
//第一个false:可选,这个参数的意思是,如果不存在update的记录,true为插入新的记录,默认是false,不插入。
//第二个true:可选,mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
db.getCollection("mongoDbTest").update({}, {$rename : {"orderId" : "status"}}, false, true)

MongoDB删除字段

db.getCollection("mongoDbTest").update({"fieldTest": {"$exists": true}
}, {"$unset": {"fieldTest":null}
})

MongoDB修改字段值

update第一个参数是 条件,而 set部分就是修改内容
以下类似于: update mongoDbTest set status= 4 where status= 1;

db.getCollection("mongoDbTest").update(
{"status": 1},
{$set:    { "status" : 4 } })

MongoDB删除:

db.getCollection("mongoDbTest").deleteMany({ id:1 })

MongoDb 判断数组非空

db.getCollection('MongoDbTest').find({ "$or": [{"数组字段名称": {"$eq": []}},{"数组字段名称": {"$eq": null}}]})

MongoDB添加索引/查询索引:

//查索引
db.getCollection('表名').getIndexes();//加索引
db.getCollection('表名').createIndex({"personList":1})//给Json的某个字段加索引
db.getCollection('表名').createIndex({"personList.personId":1})

MongoDB查看执行计划

//查看执行计划
db.getCollection('表名').find({'id':'abcd'}).explain()
//explain()得到的执行计划字段:
//stage	查询方式,常见的有COLLSCAN/全表扫描、IXSCAN/索引扫描、FETCH/根据索引去检索文档、SHARD_MERGE/合并分片结果、IDHACK/针对_id进行查询
//mongoDB的执行计划字段,详情见: https://www.uoften.com/article/221616.html

打印mongoDB语句的日志关键词:

使用 mongoTemplate 查询。

搜索关键词: find using query

SpringBoot配置mongodb打印日志。详情见:https://www.cnblogs.com/expiator/p/17375443.html

参考资料:

https://www.uoften.com/article/221616.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4种互斥机制比较

4种互斥机制 关中断禁止任务切换信号量互斥信号量 关中断 关中断(Disable Interrupts):通过禁用中断来实现互斥。在关中断期间,任何中断请求都会被忽略,从而确保了临界区的独占性。然而,这种方法会导致系统…

基于Python实现汽车销售数据可视化【500010086】

导入模块 import numpy as np import pandas as pd import plotly.graph_objects as go import plotly.express as px获取数据 df1 pd.read_excel(r"./data/中国汽车总体销量.xlsx") print(df1.head(5))df1.info()df1[年份] df1[时间].dt.year df1[月份] df1[时…

Fourier分析导论——第5章——实数据R上的Fourier变换(E.M. Stein R. Shakarchi)

第5章 实数域ℝ上的Fourier变换 The theory of Fourier series and integrals has always had major difficulties and necessitated a large math- ematical apparatus in dealing with questions of con- vergence. It engendered the development of methods of summa…

CTFhub-RCE-读取源代码

源代码&#xff1a; <?php error_reporting(E_ALL); if (isset($_GET[file])) { if ( substr($_GET["file"], 0, 6) "php://" ) { include($_GET["file"]); } else { echo "Hacker!!!"; } } else {…

android studio开发flutter应用,使用mumu模拟器调试软件

安装好mumu模拟器&#xff0c;先打开网易mumu模拟器的开发者模拟。系统应用 > 设置 > 关于手机 > 版本号 多点击几次调出开发者模式&#xff1a; 然后找到mumu模拟器的安装目录&#xff0c;找到shell文件夹里面的adb.exe&#xff0c;然后执行命令&#xff1a; adb co…

Python requests 库中 iter_lines 方法的流式传输优化

在使用Python的requests库与服务器进行HTTP交互时&#xff0c;发现使用iter_lines方法并不能实现真正的流式传输&#xff0c;而是等待服务器返回一定量的数据或请求结束。这一问题在服务器返回的数据量较大时尤为明显&#xff0c;因为默认情况下&#xff0c;requests库会将数据…

做一个Springboot文章分类模块

目录 文章分类 1、新增文章分类 前言 代码编写 测试 2、 文章分类列表 前言 代码编写 测试 3、获取文章列表详情 前言 代码实现 测试 4、更新文章分类 前言 代码实现 测试 5、删除文章分类 前言 代码实现 测试 分页查询 文章列表条件分页 前言 代码编…

第 19 章 网络编程

网络可以使不同物理位置上的计算机达到资源共享和通信的目的&#xff0c;在Java中也提供了专门的网络开发程序包--java.net&#xff0c;以方便开发者进行网络程序的开发&#xff0c;本章将讲解TCP与UDP程序开发 19.1 网络编程简介 将地理位置不同的、具有独立功能的多台计算机…

三菱PLC小项目系列—传送带多地控制

目录 一、项目描述 二、IO口分配 三、项目程序 四、总结 一、项目描述 化工厂中有传送带进行原料传送加工&#xff0c;当按下启动按钮SB1或者SB2&#xff0c;电机M1接通控制传送带运转&#xff0c;直至按下停止按钮SB3&#xff0c;电机停止并使传送带停止运行。 二、IO口分…

远程创建分支本地VScode看不到分支

在代码存放处右击&#xff0c;点击Git Bash Here 输入git fetch–从远程仓库中获取最新的分支代码和提交历史 就OK啦&#xff0c;现在分支可以正常查看了

关于SpannableStringBuilder使用ClickableSpan导致内存泄漏

在对text文字部分设置点击事件就要用到ClickableSpan&#xff0c;但是这个会导致内存泄漏&#xff0c;在回调onClick方法中设置跳转代码会导致我们的activity无法被释放。 在activity的onDestroy方法中即使使用SpannableStringBuilder的removespan和clear方法都没用。 可以使用…

Failed to restart networking.service: Unit networking.service not found.

虚拟机Vmware中的Ubuntu20.0没有网络,ifconfig命令没有IP 如果在VMware中运行的Ubuntu 20.04虚拟机没有网络,并且ifconfig命令没有显示IP地址,你可以采取以下几个步骤来诊断和解决问题: 确认虚拟机网络设置: 确保虚拟机的网络适配器是开启的,并且配置正确。确认是否选择…

多行业用户齐聚,2023 IoTDB 用户大会详细议程更新!

上周我们官宣了 2023 IoTDB 用户大会举办的消息&#xff0c;获得了多方小伙伴们积极的响应&#xff0c;作为第一次线下大会&#xff0c;我们已经开始期待与大家线下相见&#xff01; 为了回应大家对于大会内容的期待&#xff0c;我们火速把更加详细的议程“搬运”来啦~ 20 位大…

【Java】集合(一)单列集合List

1.集合 可以动态保存任意多个对象&#xff0c;并提供了一系列的操作对象的方法&#xff1a;add、remove、set、get等。 2.集合框架体系 分为两大类&#xff1a; 单列集合和双列集合 3.List接口基本介绍 List接口是Collection接口的子接口 List集合类中元素有序&#xff0…

前后端设置跨域问题

前端 const {defineConfig} require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: { //记住&#xff0c;别写错了devServer//设置本地默认端口 选填port: 8080,proxy: { //设置代理&#xff0c;必…

Django知识

目录 一.request对象方法 1.request.method 2.request.POST 3.request.GET 4.request.FILES 5.request.path 二.FBV与CBV引入 1.FBV 2.CBV (1)路由 (2)视图 3.详解 (1)FBV (2)CBV (3)小结 三.CBV源码剖析 1.as_view方法 &#xff08;1&#xff09;路由对应函…

Android Audio实战——音量设置Hal(二十)

本来上一篇分析音量设置中对于 setCurrentGainIndex 方法我们分析到了 native 层就没有往下分析,但这这里还有准备再看看下面的流程。 一、源码分析 1、android_media_AudioSystem.cpp 源码位置:frameworks/base/core/jni/android_media_AudioSystem.cpp static jint and…

smt贴片加工上料错误怎么控制?

SMT贴片加工上料错误怎么控制&#xff1f;电子行业的持续创新挑战着该行业各个层次的供应商&#xff0c;以制造出在尺寸和性能方面具有越来越强大功能的设备。在这种情况下&#xff0c;电路板的设计开发与实际生产之间的差距是趋于增加&#xff0c;特别是因为设计人员通常没有与…

Ubuntu20.04 安装 Matlab R2021a

1. 压缩包分卷解压缩 将下载下来的压缩包分卷解压缩 Ubuntu自带的archive会解压出错&#xff0c;不适用于分卷解压。 需要下载7zip &#xff08;sudo apt-get install 走起&#xff09; zip -F xxx.zip --out XXX.zip # xxx为主文件名 # XXX.zip为输出路径&#xff0c;上面的…

【git】git本地仓库命令操作详解

这篇文章主要是针对git的命令行操作进行讲解&#xff0c;工具操作的基础也是命令行&#xff0c;如果基本命令操作都不理解&#xff0c;就算是会工具操作&#xff0c;真正遇到问题还是一脸懵逼 1.操作逻辑图 本地仓库的命令操作关系图 2.基本命令操作 1.1建立一个gittest01文…