我有这样的记录
{
"formAnswers": {
"id": 1,
"entries": [
{
"name": "John",
"favoriteColor": "red",
},
{
"name": "Kevin",
"favoriteColor": "green",
},
{
"name": "Susan",
"favoriteColor": "blue",
}
]
}
}
字符串
我想匹配这个记录,因为它有两个条目,一个是favoriteColor:“red”和另一个favoriteColor:“绿色”-两者同时。
我在想这样的东西会起作用,但它不...
{
"formAnswers.entries": {
"$elemMatch": {
"$all": ["red", "green"]
}
}
}
型
如果我正在寻找“红色”和“紫色”,它不应该匹配,因为没有favoriteColor的条目:子数组在另一个属性“formAnswers”下的事实让我很难受。我可以让它工作,但我需要查询匹配所描述的文档。这种额外的间接性强调了我非常有限的mongo查询知识。
1条答案
按热度按时间lo8azlld1#
删除
$elemMatch
(因为您只是在单个字段上查询),并将.favoriteColor
添加到查询中的字段标识符(因为您不是在整个子文档上查询):字符串
Playground demonstration