教程 mongodb tutorial

投影(Projection)

投影是 MongoDB 查询中用于指定返回文档中哪些字段的功能。通过投影,可以只获取需要的字段,减少网络传输和客户端处理压力。

基本用法

在 find() 或 findOne() 方法中,第二个参数用来指定投影字段:

js
db.users.find(
  { age: { $gt: 20 } },    // 查询条件
  { name: 1, email: 1 }    // 投影字段,1 表示显示该字段
)

`

上例只返回 name 和 email 字段,其他字段被排除。

排除字段

使用 0 可以排除指定字段:

js
db.users.find(
  {},
  { password: 0 }
)

此查询返回所有文档,排除了 password 字段。

注意事项

  • _id 字段默认总是返回,如果不想返回需显式排除:
js
  db.users.find(
    {},
    { _id: 0, name: 1, email: 1 }
  )
  • 投影字段的设置只能是全包含(1)或全排除(0),不能混用(除了 _id 除外)。

通过合理使用投影,用户可以优化查询性能,避免传输多余数据,同时提高数据安全性。