MongoDB-查询

1:查询

查询集合中所有文档:

db.集合名.find()

对查询结果进行去重:

db.集合名.distinct('指定Key')

查询指定字段:

db.集合名.find(
{},#查询条件,类似于where
{'filed1':true,'filed2':false}#设置返回的字段,类似于select,true为返回,false为不返回,可以使用0代表false,1代表true
)

2:运算符

运算符对应
>$gt
<$lt
>=$gte
<=$lte
!=$ne
#查询年纪在16-19之间,班级不为二班的学生
db.student.find(
{'age':{'$gte':16,'$lte':19},'class_name':{'$ne':'二班'}},
{'_id',0,'name':1,'class_name':1}
)

and和or:

#查询班级为二班,并且年纪大于17的学生
db.student.find(
{'class_name':'二班','age':{'$gt':17}}
)
#查询班级为二班或者三班的学生
db.student.find(
{'$or':[{'class_name':'二班'},{'class_name':'三班'}]}
)

3:count/limit

count:返回符合结果的个数

#查看三班男生的人数
db.studnet.fine(
{'class_name':'三班','sex':'男'}
).count()

limit:设置查询结果返回数

#查询三班年纪大于22的三个人
db.student.find(
{'class_name':'三班','age':{'$get':22}}
).limit(3)

spik:设置从下标为几开始返回,起始下标为0,默认为0

#查询三班的人,从第三条文档开始返回4条
#返回的下标2,3,4,5
#实际文档序号3,4,5,6
db.student.find(
{'class_name':'三班'}
).limit(4).skip(2)

4:排序查询结果

sort:对查询结果按照某一个key进行排序
参数1表示升序
参数-1表示降序

#返回三班年纪最大的人的年纪
db.studnet.find(
{'class_name':'三班'},
{'age':1,'_id':0}
).sort({'age':-1}).limit(1)

5:分组和聚合函数

group:max,min,avg,sum
参数_id:表示分组的字段

#查询各个班级年纪最大的人
db.student.aggregate(
{'$group':{'_id':'class_name','最大年纪':{'$max':'$age'}}}
)

6:模糊查询

  1. //包含
  2. /^/开头
  3. /$/结尾
#名字包含李的
db.student.find(
{'name'://}
)
#以王开头的
db.student.find(
{'name':/^/}
)
#以海结尾的
db.student.find(
{'name':/海$/}
)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值