比如现在db里面有这个文档
{
"doc_id":"1",
"content":[
"ele_id":"2",
"value":2
},
"ele_id":"3",
"value":3
}
]
首先通过doc_id取得文档,然后我想把content 数组里面的ele_id=2这个 元素的value字段返回过来,这个语法怎么写?
我通过{$and:[{"doc_id":"1"},{"content.$1.ele_id":"2"}]}可以取得这个文档,可以不知道哪个语法可以返回某个元素的某个字段
当前版本不支持这种操作。在1.12版本会发布新的selector功能。针对上面这个操作的查询为
db.foo.bar.find({doc_id:1}, {content:{$elemMatch:{ele_id:2}}}),返回结果:
{ "ele_id":2,
好的谢谢