Не работает find() для вложенного ключа MongoDB
Структура БД:
name: value
type: value
categories: Array
[0]: Object
type: value
name: value
[1]: Object
type: value
name: value
Нужно найти все элементы, у которых в categories значение name = 'TestCategory1' или 'TestCategory2'
Я использую Mongoose, вот мой запрос (не работает):
Media.find({ categories: { name: { $in: ['TestCategory1', 'TestCategory2'] } } })
Я не совсем разбираюсь в этих запросах, подскажите как его сформировать правильно.
Когда я ищу все элементы по конкретным значениям, я использую этот запрос, он работает:
Media.find({ categories: { '$all': [ { type: 'Image', name: 'TestCategory1' } ] } })
Ответы (1 шт):
Автор решения: Alexander Petrov
→ Ссылка
db.collection.find({
"categories.name": {
$in: [
"TestCategory1",
"TestCategory2"
]
}
})