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字段的文档匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值