我有以下记录:
Record 1:
{
"status": "active",
"users": [
{
"name": "foo",
"status": "a"
},
{
"name": "foo",
"status": "b"
}
]
}
Record 2:
{
"status": "active",
"users": [
{
"name": "bar",
"status": "a"
},
{
"name": "foo",
"status": "b"
}
]
}
现在,我希望只返回那些user.name
为“foo”且user.status
为“a”的记录——也就是说,我需要取回记录 1,因为它满足我的要求。
如何对记录中的数组进行 AND 操作以实现此目的?我尝试了以下查询:
{
"$and": [
{
"users.name": "foo"
},
{
"users.status": "a"
}
]
}
但我得到了两条记录 - 我只需要第一条记录(因为在用户数组中,它有一个名称为“foo”且状态为“a”的条目)。
有什么线索吗?