MongoDB 查询

1.find查询
先看看find的函数说明:
db.blog.find([query],[fields]) - query is an optional query filter. fields is optional set of fields to return.
e.g. db.blog.find( {x:77}, {name:1, x:1} )
find的2个参数,第一是查询条件,第二个是返回字段
2.查询条件
$lt,$lte,$gt,$gte,$ne分别对应于<,<=,>,>=,不等于。
3.OR查询
$in用来查询一个键的多个值,相当于关系型数据库中的IN查询
db.users.find({"user_id":{"$in":[12345,"joe"]}})
与$in相对的是$nin
$or用来完成多个键值的匹配
$not 相当not in
4.null
null不仅仅匹配自身,而且匹配不存在的,所以这种匹配还会返回缺少这个键的所有文档。
如果仅仅想要匹配键值为null的文档,可以通过$exists判断键值已经存在。
db.users.find({"age":{"$in":[null],"$exists":true}})
5.正则表达式查询
$all如果需要通过多个元素匹配数组就要使用all.
$size查询指定长度的数组
$slice返回数组的一个子集合
6.查询内嵌文档
查询文档可以包含点,来表示深入内嵌文档内部的意思。
$elemMatch将限定条件进行分组,仅当需要对一个内嵌文档的多个键操作时才会用到
db.blog.find({"comments":{"elemMatch":{"author":"joe","score":{"$gte":5}}}})
7.where查询
用他可以执行任意JavaScript作为查询的一部分。
db.foo.find({"$where":"this.x+this.y==10"})
where查询在速度上要比常规查询慢很多,每个文档都要从BSON转换成JavaScript对象,然后通过$where的表达式来运行,同样还不能利用索引。
8.游标
获得游标var cursor=db.collection.find()
游标函数next(),hasNext()。
limit()返回结果的数目
skip()游标开始的地方
sort()用遗嘱键值对作为参数,键对应文档的键名,值代表排序的方向,1为升序,-1为降序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值