365Tools
发布时间:2024-03-29 14:30:02
MongoDB 中的投影即查询指定的字段,而不是直接查询文档的全部字段。比如说某个文档中有 5 个字段,而我们只需要其中的 3 个字段,那么就可以使用 MongoDB 中的投影来指定需要查询的 3 个字段。db.collection_name.find(query,{key1:1, key2:1, ...})
语法说明如下:
注意:如果仅需要设置第二个参数,而不需要设置第一个参数的话,则需要在第一个参数的位置添加一个空的花括号 {} 作为占位符,例如:db.collection_name.find({}, {_id:1})。
> db.course.insert([
... {
... "title" : "HTML教程",
... "author" : "编程帮",
... "url" : "http://www.biancheng.com/html/index.html"
... },{
... "title" : "C#教程",
... "author" : "编程帮",
... "url" : "http://www.biancheng.com/csharp/index.html"
... },{
... "title" : "MongoDB教程",
... "author" : "编程帮",
... "url" : "http://www.biancheng.com/mongodb/index.html"
... }
... ])
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 3,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
然后使用投影查询集合中所有文档的 title 字段:
> db.course.find({},{"title":1, _id:0})
{ "title" : "HTML教程" }
{ "title" : "C#教程" }
{ "title" : "MongoDB教程" }
注意:在执行 find() 方法时 _id 字段是始终显示的,如果您不希望显示此字段,就需要将其设置为 0。