Meteor / Mongo在数组中获取特定文档

时间:2015-12-04 00:13:58

标签: arrays mongodb meteor document

考虑到:

{
  docs: Array[{field1, field2}]
}

我知道如何查找包含field1field2$elemMatch的文档,但我的问题是如何获取field1知道field2的值?

我也知道在MongoDB中你可以在投影参数中使用$elemMatch。或者我可以在JS中使用_.find()之类的东西来做这件事,但目标是只从Mongo获取一个特定的文档。

比方说一下文件:

{
  _id: 1
  docs: [{a: 42, b:"stringX"}, {a:0, b:"stringY"}]
}

如何知道 a (42)知道 b (" stringX")?

是否有类似:MyCollection.findOne({_ id:1},投影:{docs:{b:" stringX"}} )?

1 个答案:

答案 0 :(得分:1)

服务器上,您可以使用此投影:

var a = MyCollection.findOne({'docs.b': "stringX"},{fields: {'docs.$': 1}}).a;

但是$数组投影在minimongo(还)中的客户端上不起作用。

希望这足以让你解开。

请参阅related question