MongoDB小结13 - find【2个参数】
第一个参数
MongoDB使用find来进行查询,查询呢,就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合。
find的第一个参数决定了要返回那些文档,其形式也就一个文档,说明了要执行的查询细节。
通常呢,大家看到的find查询基本都长这个样子
db.user.find({})
db.user.find({"name":"qianjiahao"})
db.user.find({"name":"qianjiahao","email":"example@example.com"})
第二个参数
但是,有的时候,我们并不希望将文档中的所有键/值对都返回,这时,我们可以在find方法的第二个参数上指明我们希望返回的信息。
db.user.find({},{"name":1,"email":1})
上面的语句意思是:我们只想得到name和email,其他的不关心。像这样指明返回信息的做法肯定是有好处的,它可以帮助我们节省传输的数据量,又能节省客户端解码文档的时间和内存消耗。 比如,现在有这两条数据
{ "_id" : ObjectId("5509087e08fa61313b5a8230"), "name" : "william", "email" : "example@example.com" }
{ "_id" : ObjectId("5509088b08fa61313b5a8231"), "name" : "jack", "email" : "example@example1.com" }
我们只想得到name,连 _id 都不想要,那么可以这样
db.user.find({},{"name":1,"_id":0})
{ "name" : "william" }
{ "name" : "jack" }
注意
数据库关心的查询文档的值,必须是常量(在你自己的代码里可以是正常的变量),换句话说,不可以引用文档中其他键的值!