这是我的模特:
order:{
_id: 88565,
activity:
[
{_id: 57235, content: "foo"},
{_id: 57236, content: "bar"}
]
}
这是我的疑问:
db.order.find({
"$and": [
{
"activity.content "bar"
},
{
"activity._id": 57235
}
]
});
即使条件由两个不同的嵌入式活动一起满足,此查询也会选择ID为88565的订单。
我希望这个查询什么都不返回。 我知道我可以使用elemMatch来更精确地过滤嵌入的文档,但这种行为似乎很混乱。
有没有办法在AND子句有一个嵌入式文档范围的情况下获得正确的过滤?