mongodb 条件查询

1. 查询所有记录:

db.user.find(
   相当于:select * from user;

2. 查询 age = 20 的记录:

db.user.find({age:20})
   相当于:select * from user where age = 20;       

3. 查询 age > 20 的记录:

db.user.find({age:{$gt:20}})
   相当于:select * from user where age > 20;       

4. 查询 age < 20 的记录:

db.user.find({age:{$lt:20}})
   相当于:select * from user where age &lt; 20;       

5. 查询 age >= 20 的记录:

db.user.find({age:{$gte:20}})
   相当于:select * from user where age &gt;= 20;       

6. 查询 age <= 20 的记录:

db.user.find({age:{$lte:20}})
相当于:select * from user where age &lt;= 20;       

7. 查询 age >= 20 并且  age <= 30 的记录:

db.user.find({age:{$gte:20,$lte:30}})

8. 查询 name 中包含 '张' 的数据: (模糊查询):

db.user.find({name://})
   相当于:select * from user where name like ‘%mongo%’;       

9. 查询 name 中 以 '张' 开头的数据:

db.user.find({name:/^/})
   相当于:select * from user where name like ‘mongo%’;       

10.查询 name 中 以 '张'结尾的数据:

db.user.find({name:/张$/})
   相当于:select * from user where name like ‘%mongo’;       

11.查询指定列数据:

db.user.find({},{name:1})  //查询 name 列数据 第一个字段为查询条件
   相当于:select name from user;       

注:name 也可用 true 或 false 来表示,为 true 时,与 name:1 效果一样,false 则表示排除 name ,显示 name 以外的列信息

 12.查询指定列,name,age数据,且 age  > 20

db.user.find({age:{$gt:20}},{name:true,age:true})
相当于:select name,age from user where age &gt; 20;       

13. 升序、降序排列:

升序:
db.user.find().sort({age:1}) // 以 age 为标准
降序:db.user.find().sort({age:-1})

14. 查询前5条数据:

db.user.find().limit(5)
相当于:selecttop 5 * from user;       

15. 查询后10条数据:

db.user.find().skip(10)
相当于:selecttop * from user where id not in(selecttop 10 * from user);       

16.查询 5-10之间的数据:

db.user.find().limit(10).skip(5)   // 10 之前,5之后,即 5-10 之间<br>// 可用于分页,limit 是 pageSize,skip 是第几页 * pageSize

 17.查询 age = 28,或者 age = 29 的数据:

db.user.find({$or:[{age:28},{age:29}]})
   相当于:select * from user where age = 28 or age = 29;       

18.查询第一条数据:

db.user.findOne()

19.统计查询到的数据的数量:

db.user.find().count()

20.统计 age > 20 的数据的数量:

db.user.find({age:{$gt:20}}).count()

如果,想以比较易读的方式查找数据,可以在最后面添加 pretty()

21.求两列差的总和:
db.dtdjrun_0701e.aggregate({$group:{_id:null, "count":{"$sum": {$subtract: ["$end_time", "$start_time"]}}}})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值