📜  MongoDB投影

📅  最后修改于: 2021-04-17 03:37:20             🧑  作者: Mango

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.

显示员工姓名–

显示不带_id字段的员工姓名–

不显示_id字段的情况下显示员工的姓名和部门–

显示加入年为2018年的员工的姓名和部门–