从流星搜索查询中排除_id



我试图从一个没有_id字段的流星集合中拉出一个文档,但不包括:

Db.find({foo: bar}, {fields: {
  test1: 1,
  test2: 1,
  _id: 0
}})

也不排斥:

Db.find({foo: bar}, {fields: {
  test3: 0,
  _id: 0
}})

似乎有效。两者都只返回一个空数组。我知道拉与_id排除的文档是可能的在蒙古包,是在流星吗?

我想你忘记了一些大括号:

Db.find({
    foo: bar
}, {
    fields: {
        test3: 0,
        _id: 0
     }
});

我在某处读到,的包含/排除的混合是不支持的。这意味着,您的第一个示例将无法工作。

编辑:

From the meteor docs:

字段说明符

在服务器上,查询可以指定一组特定的字段来从结果对象中包括或排除。(字段说明符是)

要从结果对象中排除某些字段,字段说明符是一个字典,其键是字段名,值为0。

Users.find({}, {fields: {password: 0, hash: 0}})

返回一个只包含指定字段的对象,使用1 as值。 _id字段仍然包含在结果中。

Users.find({}, {fields: {firstname: 1, lastname: 1}})

不可以混合使用包含和排除样式。

最新更新