我有一个文件如下:
{
"_id" : ObjectId("56423b2558cb340599108b35"),
"test" : {
"source" : [
{
"member" : "abc"
},
{
"member" : "xyz"
}
]
}
}
我想在数组元素xyz上进行过滤,我正在尝试以下查询:
db.coll.find({ "test.source.member" : "xyz" }, { "test.source.$.member" : true }).pretty()
显然,在2.4版本中它可以工作,在2.6版本中它不起作用。
在2.4版本中,它返回了“xyz”,而在2.6版本中,它返回了“abc”,即第一个元素。有没有办法过滤“abc”,因为最终我想要更新。顺便说一句,我也尝试过$elemMatch,它似乎给出了相同的输出“abc”。
谢谢。