MongoDB提供了一项称为Projection的特殊功能。它允许您仅选择必要的数据,而不是从文档中选择整个数据。例如,一个文档包含5个字段,即
{
name: "Roma",
age: 30,
branch: EEE,
department: "HR",
salary: 20000
}
但是我们只想显示员工的姓名和年龄,而不是显示整个细节。现在,在这里我们使用投影来显示员工的姓名和年龄。
可以将投影与db.collection.find()
方法一起使用。在此方法中,第二个参数是projection参数,该参数用于指定在匹配文档中返回哪些字段。
句法:
db.collection.find({}, {field1: value2, field2: value2, ..})
- 如果该字段的值设置为1或true,则表示该字段将包含在返回文档中。
- 如果该字段的值设置为0或false,则意味着该字段将不包括在返回文档中。
- 您可以使用投影运算符,但
find()
方法不支持以下投影运算符,即$
,$elemMatch
,$slice
和$meta
。 - 无需将
_id
字段设置为1以返回_id
字段,除非将_id
字段设置为0,否则find()
方法始终返回_id
。
例子:
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: employee
Document: five documents that contain the details of the employees in the form of field-value pairs.