假设我有以下数据
{ "value": "apples", "category": 0 }
{ "value": "bananas", "category": 1 }
{ "value": "apples", "category": 2 }
{ "value": "avocados", "category": 2 }
我想在数据库中搜索对象数组。
如果我不在乎类别,那就是
.find({'value': {$in:["apples,bananas"]}})
如何添加类别字段?例如,我想要所有类别为0的苹果和类别为1的香蕉。
我不想'for'循环并一个接一个地找到它们。
答案 0 :(得分:1)
首先是{$in:["apples","bananas"]}
-字符串数组。
要匹配多个字段,如果我理解这个问题,可以使用$ or条件:
.find({$or: [
{"value": "apples", "category": 0},
{"value": "bananas", "category": 1}
]})
答案 1 :(得分:1)
如果您只想检索特定的组合,则可以使用$or operator:
.find({
$or: [
{'value': 'apples', 'category': 0},
{'value': 'bananas', 'category': 1}
]
})