我有一些这样的文件:
{
_id: "exampleid",
email: "ex@example.pt",
sites:[
{
_id: "site1",
user: "user1",
pass: "pass1",
info: "info1",
date: "date1"
},
{
_id: "site2",
user: "user2",
pass: "pass2",
info: "info2",
date: "date2"
}
]
}
我想执行一个查询,返回“site1”中的所有文档,但只返回该站点的_id,user,info和date字段,所以我做了这个查询:
collection.find({ "sites._id": "site2" },{ fields: { "sites.$": 1 } });
所以基本上我不希望其他网站被退回,但我也不希望返回该网站的传递,我试过这个:
collection.find({ "sites._id": "site2" },{ fields: { "sites.$.pass": 0 } });
但它说我不能用位置运算符排除数组元素,所以我需要知道如何从结果中删除“pass”字段,以便我可以返回仍然在游标中的所有文档但没有传球场。