假设users
集合包含以下文档:
_id: "jsmith",
name: "John Smith",
roles: {"project1": "user", "project2": "admin"}
如果我只需要查询name
(可能_id
),我可以使用:
db.users.find({_id: "jsmith"}, {name:1})
或者我可以使用投影:
db.users.aggregate([
$match: {_id: "jsmith"},
$project: {name: 1}
])
此查询是否比没有投影的查询更快?根本没有加载roles
属性,对吗?