当前位置: 首页 > news >正文

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.lryc.cn/news/225059.html

相关文章:

  • MIPSsim模拟器 使用说明
  • javascript用localStorage存储用户搜索词记录,并在搜索框下展显搜索词记录
  • 20231108在Ubuntu22.04下编译安装cmake-3.27.7.tar.gz
  • 如此理解sed会简单
  • 数据库-MySQL之数据库必知必会1-9章
  • Selenium+Python自动化测试环境搭建
  • k8s存储卷 PV和PVC
  • 【架构】后端项目经典分层架构介绍
  • 二叉树的中序遍历
  • 什么是代理IP池?真实测评IP代理商的IP池是否真实?
  • 接收表单数据
  • 串口通信(11)-CRC校验介绍算法
  • 什么是Java虚拟机(JVM),它的作用是什么?
  • 力扣876:链表的中间结点
  • 三菱FX3U系列—原点回归指令
  • ES常用查询命令
  • 【Qt之元对象系统】
  • 基于FPGA的EMAC模块与FIFO模块:高速数据传输与存储
  • 大数据毕业设计选题推荐-农作物观测站综合监控平台-Hadoop-Spark-Hive
  • 高校教务系统登录页面JS分析——长沙理工大学教务系统
  • element-ui的form校验失败
  • java数据结构--阻塞队列
  • 使用p2p实现Linux内网快速分发文件
  • Android Studio报错:connect refused
  • ubuntu 源码编译安装make过程很慢问题解决
  • 深度学习 opencv python 实现中国交通标志识别 计算机竞赛
  • 希尔排序原理
  • 测试用例的设计方法(全):判定表驱动分析方法
  • node 第十七天 使用rsa非对称加密 实现前后端加密通信 JSEncrypt和node-rsa
  • Spring-依赖注入findAutowireCandidates源码实现