在mongo中搜索对象数组

时间:2018-09-12 15:27:26

标签: mongodb

假设我有以下数据

{ "value": "apples", "category": 0 }
{ "value": "bananas", "category": 1 }
{ "value": "apples", "category": 2 }
{ "value": "avocados", "category": 2 }

我想在数据库中搜索对象数组。

如果我不在乎类别,那就是

.find({'value': {$in:["apples,bananas"]}})

如何添加类别字段?例如,我想要所有类别为0的苹果和类别为1的香蕉。

我不想'for'循环并一个接一个地找到它们。

2 个答案:

答案 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}
  ]
})