MongoDB中使用find来进行查询,返回一个集合中的文档的子集;

返回文档集合blog中的所有文档:

1
2
3
4
> db.post. find ()   
"_id"  : ObjectId( "54a530c3ff0df3732bac1681" ),  "id"  : 2,  "name"  "joe" "age"  : 30,  "sex"  : 1,  "school"  "marry"  }    
"_id"  : ObjectId( "54a530c3ff0df3732bac1680" ),  "id"  : 1,  "name"  "joe" "age"  : 30,  "comments"  : [  "test2" "test9" "test5"  ],  "sex"  : 1,  "school"  "marry"  }    
>

 返回指定的文档:

1
2
3
> db.post. find ({ "id" :1})   
"_id"  : ObjectId( "54a530c3ff0df3732bac1680" ),  "id"  : 1,  "name"  "joe" "age"  : 30,  "comments"  : [  "test2" "test9" "test5"  ],  "sex"  : 1,  "school"  "marry"  }    
>

返回指定的键值:

1
2
3
4
> db.post. find ({},{ "id" :1, "age" :1})   
"_id"  : ObjectId( "54a530c3ff0df3732bac1681" ),  "id"  : 2,  "age"  : 30 }    
"_id"  : ObjectId( "54a530c3ff0df3732bac1680" ),  "id"  : 1,  "age"  : 30 }    
>

 默认总是会返回“_id”键,使用下面的方法可以不返回“ _id”键:

1
2
3
4
> db.post. find ({},{ "id" :1, "age" :1, "_id" :0})   
"id"  : 2,  "age"  : 30 }    
"id"  : 1,  "age"  : 30 }    
>

    
可以将多个条件组合在一起,例如查询名字为“Joe”且ID为1的文档:

1
2
3
4
5
6
> db.post. find ({ "name" : "joe" })   
"_id"  : ObjectId( "54a530c3ff0df3732bac1681" ),  "id"  : 2,  "name"  "joe" "age"  : 30,  "sex"  : 1,  "school"  "marry"  }    
"_id"  : ObjectId( "54a530c3ff0df3732bac1680" ),  "id"  : 1,  "name"  "joe" "age"  : 30,  "comments"  : [  "test2" "test9" "test5"  ],  "sex"  : 1,  "school"  "marry"  }    
> db.post. find ({ "name" : "joe" , "id" :1})    
"_id"  : ObjectId( "54a530c3ff0df3732bac1680" ),  "id"  : 1,  "name"  "joe" "age"  : 30,  "comments"  : [  "test2" "test9" "test5"  ],  "sex"  : 1,  "school"  "marry"  }    
>