MongoDB 查

大家请看这是mongodb的一个collection,下面我们用它来完成一些查找的操作

1.find语句查找                db.集合名.find( [ condition] )

(1) 遍历整个集合:db.集合名.find()

(2) 查找满足条件的所有文档:db.集合名.find({条件}),条件以键值对的形式写在花括号内,下面查找年龄为30的人

 

(3)查找,设置显示的内容 

查找年龄为32的人的姓名 (  id默认是显示的 )


查找年龄为32的人的姓名,不显示id


2. 查找满足条件的一个文档findOne          db.集合名.findOne( [ condition] ) 

查找表的一个文档:db.集合名.findOne() ; 若findOne内不填入任何条件,则查找结果是集合的第一个文档


若传入条件,无论满足条件的文档有多少个都只显示一个,而且显示的是第一个检索到的文档


3.mongodb的比较运算符的查找

mongodb常见的比较运算符:   大于 >( gt )        小于 <( lt )          大于等于 >=( gte )           小于等于 <=(lte)

(1) 查找年龄大于32的人


(2) 查找年龄小于32的人


(3) 查找年龄大于等于32的人


(4) 查找年龄小于等于32的人


至于年龄等于32的人已经在前面查找过。

(5)下面来看两个复杂一点的查询

查询年龄大于32且姓名为liyunlong的人


查询年龄大于32或姓名为fanbingbing的人


4. mongodb的in和nin

查找年龄在列表[ 27, 56, 18]里的人


查找年龄不在列表[ 27, 56, 18]里的人


5. 正则

"^XX"  以XX开头的字符串                                                     "XX$"  以XX结尾的字符串

(1) 查找姓名以li开头的人  


(2) 查找姓名以ang结尾的人


6. mongodb 与js

由于mongodb兼容js下面我们来看看如何用js的函数来进行查询

(1) 查找年龄大于32的人


查询年龄大于32小于50的人


js的正则这样表示:/ 正则表达式/

(2) 下面我们用js的正则表达式来进行查询

查找姓名以li开头的人


查找姓名以ang结尾的人


7.mongodb的排序 分页和统计

(1) mongodb用sort( [ condition] )排序,sort( )不填入任何条件,默认是以id升序排列

a:下面我们以年龄升序排序


sort( { age : 1} ) 是指以age排序,1指的是升序排列,-1是降序排列。

b:我们在看一个降序排列


首先以age进行降序排列,当年龄相同时以name进行升序排列。由于fanbingbing的首字母f的ASCII值大于lixiaolong的首字母l的ASCII值,所以fanbingbing排在lixiaolong前面。

(2) 分页 limit

a:  limit( x ) 只显示x条


 db.c_select.find()一共查到五个文档,而此时只显示了2个文档

b:  skip( y ) 跳过y条显示


 db.c_select.find().skip(2).limit(2) 一共查到五个文档,skip( 2)让查到的文档从第3个开始显示,前两条跳过,而limit限制显示的数目,让文档只显示2个

(3 ) 统计 count ( )

db . 集合名 . count ( [condition] )             

a:统计集合的文档数目


b:统计age大于30 的人数



( 4 ) 去除重复  distinct 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值