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

MongoDB 笔记

1 insert 、create、save区别

  • insert: 主键不存在则正常插入;主键已存在,抛出DuplicateKeyException 异常

  • save: 主键不存在则正常插入;主键已存在则更新

  • insertMany:批量插入,等同于批量执行 insert

  • create:批量保存,等同于循环执行 save

2 链式操作与options配置等效

collection.find({ runtime: { $lt: 15 } }, { sort: { title: 1 }, projection: { _id: 0, title: 1, imdb: 1 }});
collection.find({ runtime: { $lt: 15 } }).sort({ title: 1}).project({ _id: 0, title: 1, imdb: 1 });

3 计数

  • collection.estimatedDocumentCount( ):根据集合元数据返回集合中文档数量的估值(速度更快)

  • collection.countDocuments( ):返回集合中与指定查询匹配的文档数(准确值

4 检索字段的不同值

  • distinct( ):生成一个列表,该列表包含指定文档字段中的每个不同值

  • 检索的文档字段包含数组时,则该方法会将每个元素视为一个单独的值

    const distinctValues = collection.distinct(fieldname, query);

5 查询空缺字段

  • {item:null}查询将匹配包含其值为null的item字段或不包含item字段的文档

    const cursor = db.collection(‘inventory’).find({ item: null });

  • 类型检查

    • {{item:{$ type:10}}查询仅与包含item字段值为null的文档匹配; 即item字段的值为BSON类型为Null(类型编号为10)

    • 常见 BSON TYpe

      在这里插入图片描述

  • 存在检查

    • {item:{$ exists:false}}查询与不包含item字段的文档匹配
http://www.lryc.cn/news/188301.html

相关文章:

  • Maven 项目文档
  • 浏览器中XPath的使用
  • js录制屏幕并输出视频
  • 华为OD机试 - 数组组成的最小数字(Java 2023 B卷 100分)
  • 数据结构-顺序存储二叉树
  • mysql学习实践
  • 键盘控制应用--通过键盘发送控制指令
  • python中pytorch的广播机制——Broadcasting
  • 基于BES平台音乐信号处理之DRC算法实现
  • 如何加快香山处理器Chisel->Verilog编译速度
  • pillow篇---pillow连续打开同一张图片会导致打开失败问题
  • 详细解说iptables 高阶用法,用来完成哪些高效率网络路由策略场景,iptables 实现域名过滤,Linux如何利用iptables屏蔽某些域名?
  • 面试总结-Redis篇章(十二)——Redis是单线程的,为什么还那么快
  • 5.编写程序 超强力方法
  • 超详细DeepLabv3 介绍与使用指南 – 使用 PyTorch 推理
  • 移动应用-Android-开发指南
  • 免费开源的非标项目型制造BOM一键导入方案介绍
  • 用合成数据训练车辆姿态估计神经网络
  • 【QT开发笔记-基础篇】| 第四章 事件QEvent | 4.5 键盘事件
  • 爬取微博热榜并将其存储为csv文件
  • 国庆中秋特辑(八)Spring Boot项目如何使用JPA
  • 用jad反编译工具查看java接口相关的默认修饰符
  • axios的get请求时数组参数没有下标
  • bochs 对 Linux0.11 进行调试 (TODO: 后面可以考虑集成 vscode+gdb+qemu)
  • 一文告知HTTP GET是否可以有请求体
  • 防止SQL注入攻击的综合解决方案
  • MapReduce(林子雨慕课课程)
  • PHP聊天系统源码 在线聊天系统网站源码 后台自适应PC与移动端
  • 算法题:买卖股票的最佳时机 II (贪心算法解决股票问题)
  • Redis-持久化机制