mongodb条件查询(二)

来源:互联网 发布:淘宝c店运营 编辑:程序博客网 时间:2024/04/28 14:10

> db.c1.find({},{_id:0}){ "name" : "John", "age" : 20, "sex" : "M" }{ "name" : "Tom", "age" : 21, "sex" : "F" }{ "name" : "Davi", "age" : 20, "sex" : "F" }{ "name" : "Lily", "age" : 22, "sex" : "M" }{ "name" : "Lucy", "age" : 22, "sex" : "M" }{ "name" : "Lucy", "age" : 22, "sex" : "M", "hobby" : [ "music", "sport" ] }{ "name" : "Smith", "age" : 21, "sex" : "F", "hobby" : null }{ "name" : "Sam", "age" : 20, "sex" : "F", "hobby" : [ "swimming" ] }

1、文档数(即记录数)

> db.c1.count()8> db.c1.find().count()8

2、返回的前多少条记录,如下返回前两条记录

> db.c1.find({},{_id:0}).limit(2){ "name" : "John", "age" : 20, "sex" : "M" }{ "name" : "Tom", "age" : 21, "sex" : "F" }

3、返回记录的起点,如下跳过前6条记录,从第7条开始

> db.c1.find({},{_id:0}).skip(6){ "name" : "Smith", "age" : 21, "sex" : "F", "hobby" : null }{ "name" : "Sam", "age" : 20, "sex" : "F", "hobby" : [ "swimming" ] }

4、排序,如下1为升序,-1为降序

> db.c1.find({},{_id:0}).sort({age:1}){ "name" : "John", "age" : 20, "sex" : "M" }{ "name" : "Davi", "age" : 20, "sex" : "F" }{ "name" : "Sam", "age" : 20, "sex" : "F", "hobby" : [ "swimming" ] }{ "name" : "Tom", "age" : 21, "sex" : "F" }{ "name" : "Smith", "age" : 21, "sex" : "F", "hobby" : null }{ "name" : "Lily", "age" : 22, "sex" : "M" }{ "name" : "Lucy", "age" : 22, "sex" : "M" }{ "name" : "Lucy", "age" : 22, "sex" : "M", "hobby" : [ "music", "sport" ] }> db.c1.find({},{_id:0}).sort({age:1,name:-1}){ "name" : "Sam", "age" : 20, "sex" : "F", "hobby" : [ "swimming" ] }{ "name" : "John", "age" : 20, "sex" : "M" }{ "name" : "Davi", "age" : 20, "sex" : "F" }{ "name" : "Tom", "age" : 21, "sex" : "F" }{ "name" : "Smith", "age" : 21, "sex" : "F", "hobby" : null }{ "name" : "Lucy", "age" : 22, "sex" : "M" }{ "name" : "Lucy", "age" : 22, "sex" : "M", "hobby" : [ "music", "sport" ] }{ "name" : "Lily", "age" : 22, "sex" : "M" }
5、分页,同时使用上述三种函数实现,如下分别人第一页两条,第二页两条

> db.c1.find({},{_id:0}).limit(2).sort({name:1}){ "name" : "Davi", "age" : 20, "sex" : "F" }{ "name" : "John", "age" : 20, "sex" : "M" }> db.c1.find({},{_id:0}).skip(2).limit(2).sort({name:1}){ "name" : "Lily", "age" : 22, "sex" : "M" }{ "name" : "Lucy", "age" : 22, "sex" : "M" }
6、随机查询,可使用随机函数Math.random(),例:从一个集合中随机抽取一条记录

<pre name="code" class="sql">> Math.random()0.06595390615984797> rdm=Math.floor(Math.random()*db.c1.count())  #Math.floor取整2> db.c1.find({},{_id:0}).skip(rdm).limit(1){ "name" : "Davi", "age" : 20, "sex" : "F" }


0 0
原创粉丝点击