我正在尝试从没有_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吗?
答案 0 :(得分:3)
我想你已经忘记了一些大括号:
Db.find({
foo: bar
}, {
fields: {
test3: 0,
_id: 0
}
});
我在某处读过,不支持包含/排除的混合。这意味着,您的第一个示例将无效。
修改强>
来自流星docs:
字段说明符
在服务器上,查询可以指定一组特定的字段 包含或排除结果对象。 (字段说明符是 目前在客户端上被忽略。)
要从结果对象中排除某些字段,请使用字段说明符 是一个字典,其键是字段名称,其值为0.
Users.find({}, {fields: {password: 0, hash: 0}})
要返回仅包含指定字段的对象,请使用1作为 价值。 _id字段仍包含在结果中。
Users.find({}, {fields: {firstname: 1, lastname: 1}})
无法混合包含和排除样式。