主题
投影(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
字段默认总是返回,如果不想返回需显式排除:jsdb.users.find( {}, { _id: 0, name: 1, email: 1 } )
投影字段的设置只能是全包含(1)或全排除(0),不能混用(除了
_id
除外)。
通过合理使用投影,用户可以优化查询性能,避免传输多余数据,同时提高数据安全性。