我正在尝试从没有 _id 字段但不包含的 Meteor 集合中提取文档:
Db.find({foo: bar}, {fields: {
test1: 1,
test2: 1,
_id: 0
}})
也不排除:
Db.find({foo: bar}, {fields: {
test3: 0,
_id: 0
}})
似乎工作。两者都只返回一个空数组。我知道在 Mongo 中可以提取排除 _id 的文档,是在 Meteor 中吗?
我想你忘记了一些大括号:
Db.find({
foo: bar
}, {
fields: {
test3: 0,
_id: 0
}
});
而且我在某处读到,不支持包含/排除的混合。这意味着,您的第一个示例将不起作用。
编辑:
来自流星文档:
字段说明符
在服务器上,查询可以指定一组特定的字段以包含或排除在结果对象中。(当前在客户端上忽略了字段说明符。)
要从结果对象中排除某些字段,字段说明符是一个字典,其键是字段名称,其值为 0。
Users.find({}, {fields: {password: 0, hash: 0}})
要返回仅包含指定字段的对象,请使用 1 作为值。_id 字段仍包含在结果中。
Users.find({}, {fields: {firstname: 1, lastname: 1}})
不能混合包含和排除样式。