Поиск монго для массива объектов - PullRequest
0 голосов
/ 12 сентября 2018

Допустим, у меня есть следующие данные

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

Я хочу найти в базе данных массив объектов.

Если бы я не заботился о категории, это было бы

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

Как добавить поле категории? Я хочу, например, все яблоки с категорией: 0 и бананы с категорией: 1.

Я не хочу зацикливаться и находить их один за другим.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Если вы хотите получить только определенные комбинации, вы можете использовать $ или оператор :

.find({
  $or: [
   {'value': 'apples', 'category': 0},
   {'value': 'bananas', 'category': 1}
  ]
})
0 голосов
/ 12 сентября 2018

Прежде всего, это {$in:["apples","bananas"]} - массив строк.Чтобы сопоставить несколько полей, вы можете использовать $ или условие, если я понимаю вопрос:

.find({$or: [
    {"value": "apples", "category": 0},
    {"value": "bananas", "category": 1}
]})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...