MongoDB小结13

第一个参数

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" }

注意

数据库关心的查询文档的值,必须是常量(在你自己的代码里可以是正常的变量),换句话说,不可以引用文档中其他键的值!

原文地址:https://www.cnblogs.com/caohaifeng/p/5550749.html