在mongodb中搜索对象数组

问题描述 投票:0回答:2

假设我有以下数据

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

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

如果我不关心类别,那就是

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

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

我不想'for'循环并逐个找到它们。

mongodb
2个回答
1
投票

如果您只想检索特定组合,可以使用$or operator

.find({
  $or: [
   {'value': 'apples', 'category': 0},
   {'value': 'bananas', 'category': 1}
  ]
})

1
投票

首先,它是{$in:["apples","bananas"]} - 一个字符串数组。要匹配多个字段,您可以使用$或condition,如果我理解了这个问题:

.find({$or: [
    {"value": "apples", "category": 0},
    {"value": "bananas", "category": 1}
]})
© www.soinside.com 2019 - 2024. All rights reserved.