MongoDB入门5——查询(一)

1.find()查询

在之前的学习中没我们其实已经很多次的接触过find()查询。基本上来说,find查询是比较简单明了的。find()的第一个参数决定了需要查询的文档的特征,如果该参数为空,则查询结果会匹配一个集合中所有的文档。例如:

db.coll.find({}); db.coll.find();

如果要查询姓名为张三的人:

db.coll.find({"name":"张三"});

如果要查询姓名为张三,年龄30岁的人的信息:

db.coll.find({"name":"张三","age":30});
依次类推啦。

有时候并不一定需要将整个文档中所有的信息都查询出来,这就类似于SQL中的select语句的功能。那么可以通过find()的第二个参数指定需要返回的信息。例如,我们只关心姓名信息,可以这么写:

db.colls.find({},{"name":1});
此外,如果有很多键值对,需要排序某些,则可以采取下面的写法:
db.colls.find({},{"name":0});
默认情况下,如果不显示的排除_id,它是会被查询出来的。此外,还需要说明的是,查询条件中键值对中的“值”的内容必须是常量,也就是说,类似下面的写法是不允许的:
db.stock.find({"in":"this.out"});

2.查询中的比较操作
共有以下几个比较操作符:$lt、$lte、$gt、$gte,分别对应<、<=、>、>=。使用也很简单。例如,要查询年龄在20-30岁之间的人的信息,可以这么写:
db.person.find({"age":{"$gte":20,"$lte":30}});
对于!=操作,对应的比较操作符是$ne,它的使用方法也是很显而易见的。
3.查询中的逻辑运算
AND操作并没有特别的操作符,只需要将多个查询条件以逗号隔开即可。OR运算则有专门的操作符$or。假设我们想查询年龄为20或者名字叫Sam的人的信息,可以这样:
db.person.find("$or":[{"age":20},{"name":"Sam"}]);
对于!运算,有对应的$not操作符,它可以使用在任何的条件之上,查询年龄不是20岁的人的信息:
db.person.find("$not":{"age":20});



参考书:

《MongoDB:The Definitive Guide》


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值