考虑到:
{
docs: Array[{field1, field2}]
}
我知道如何查找包含field1
或field2
和$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"}} )?
答案 0 :(得分:1)
在服务器上,您可以使用此投影:
var a = MyCollection.findOne({'docs.b': "stringX"},{fields: {'docs.$': 1}}).a;
但是$
数组投影在minimongo(还)中的客户端上不起作用。
希望这足以让你解开。