mongodb find() 初学

1.find方法

mongodb中find用来查询集合中的文档,本人初学现总结如下:

db.c.find()  --无参数将视为带有第一个参数{}进行查询。

db.users.find({"age":27,"username":"joe"})  --将两个条件作为and处理对集合中文档进行查询

以上查询可以写为db.users.find({$and:[{"age":27},{"username":"joe"}]),但是效率较低

db.users.find({},{"username":1,"age":1,"email::1,"_id":0})  --第二个参数为显示或者隐藏文档中特定属性,1为显示,0为隐藏,如果不显性表示_id,则默认进行显示。

特殊示例:

db.users.find({$and:[{"x":{$lt:1}},{"x":4}]})等同于db.users.find({"x":{$li:1,$in:[4]}}),后者效率更好,虽然条件为查询小于1等于4的x看似不存在,但是如果文档为{"x":[0,4]}则就是满足条件得文档

2.查询中的条件

查询条件操作符:

$lt  --<

$lte  --<=

$gt  -->

$gte  -->=

$ne  --!=

db.users.find({"age":{$gte:18,$lte30}})  --查询年龄在18到30岁之间得用户

db.users.find({"registered":{$lt:new Date("01/01/2017")}}) --查询在2017-01-01前注册得用户

db.users.find({"username":{$ne:"joe"}})  --查询用户名不等于joe得文档

 

3.$or查询

$in  --查询一个键中得多个值

$nin --与$in相反

$or --查询多个键

db.raffle.find({"ticket_no":{$in:[725,542,390]}}) --查询ticket_no为725,542,390得文档

db.raffle.find({"ticket_no":{$nin:[725,542,390]}}) --查询ticket_no部位725,542,390的文档

db.raffle.find({$or:[{"ticket_no":752},{"winner":true}]}) --查询ticket_no为752或者winner为true的文档

db.raffle.find({$or:[{"ticket_no":{$in:[725,542,390]}},{"winner":true}]}) --查询ticket_no为725,542,390或者winner为true的文档

4.$not

$not  --!,为元条件句,可以使用在任何其他条件上

db.users.find({"id_num":{$mod:[5,1]}}) --查询id_num为1,6,11,16等的文档

注:$mod为指定属性除以第一个参数的余数是否等于第二个参数,等于为true

db.users.find({"id_num":{$not:{$mod:[5,1]}}})  ----查询id_num为2,3,4,5,7,8,9,10,12,13,14,15,17等的文档

未完待续

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值