首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB数据库高级查询

1、比较运算符查询

db.集合名.find({"键名": {比较运算符1:值1, 比较运算符2:值2} })

db.yunfan_test.find({"age": {$lt:24}})

2、in/not in

db.集合名.find({"键名": {$in:[值1, 值2, 值3 ...]} })

db.集合名.find({"键名": {$nin:[值1, 值2, 值3 ...]} })db.yunfan_test.find({"age":{$in:[20,21,22]}})

db.yunfan_test.find({"age":{$in:[20,21,22]}})

3、size

db.集合名.find({"键名": {$size:n} })

db.yunfan_test.find({"list":{$size:3}})

4、exists

db.集合名.find({"键名": {$exist: true|false} })

db.yunfan_test.find({"flag":{$exists:true}})

5、or

db.集合名.find({$or:[{条件1}, {条件2}, {条件3}...]})

db.yunfan_test.find({$or:[{"name":"张三"},{"name":"李四"}]})

6、模糊查询

db.集合名.find({"键名": js正则表达)

db.yunfan_test.find({"name":/张三/})

7、查询结果排序(sort)

db.集合名.find().sort({"键名": 1|-1, "键名": 1|-1...})  #1为升序, -1为降序

db.yunfan_test.find().sort({"age":-1})

8、限定返回结果数量(limit)

db.集合名.find().limit(n)

db.集合名.find().skip(n)  # 跳过n条,返回从n+1k开始的数据

db.集合名.find().skip(n).limit(m)  # 跳过n条,返回后面的m条

db.yunfan_test.find().limit(1).sort({"age":1})

9、查询返回结果数量(count)

db.集合名.find().count()

db.集合名.find().skip(n).count(true)  # 与skip结合使用时,要加true

db.yunfan_test.find().count()

10、聚合函数

db.集合名.aggregate({$group:{_id:'$字段名', 别名:{$聚合函数:'$字段名'}}}

);

例:

# 统计同年龄的人数

db.yunfan_test.aggregate({$group:{_id:'$age',count_age:{$sum:1}}}

);# 统计所有人平均年龄

db.yunfan_test.aggregate({$group:{_id:null,总人数:{$sum:1},avg_age:{$avg:"$age"},min_age:{$min:"$age"},max_age:{$max:"$age"}}}

);

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OMnpqb-4f8Qwg-_CiHfcu-Gg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券