Имеется коллекция:
[
{
"name": "Коля",
"specifications": [
{ "name": "Рост", "value": 190 },
{ "name": "Вес", "value": 78 },
{ "name": "Любимое занятие", "value": "Поиск кузнечиков"}
]
},
{
"name": "Вася",
"specifications": [
{ "name": "Рост", "value": 177 },
{ "name": "Вес", "value": 80 },
{ "name": "Цвет глаз", "value": "Чёрный"},
{ "name": "Количество машин", "value": 2}
]
},
{
"name": "Антоша",
"specifications": [
{ "name": "Рост", "value": 182 },
{ "name": "Вес", "value": 90 },
{ "name": "Любимое пиво", "value": "Kozel"}
]
},
{
"name": "Настя",
"specifications": [
{ "name": "Рост", "value": 172 },
{ "name": "Вес", "value": 61 },
{ "name": "Количество зубов", "value": 32 }
]
}]
Хочу создать запрос для получения пользователей с определенными характеристиками. Например:
db.getCollection("humans").find({
specifications: {
$elemMatch: {
$in: [{
name: "Вес",
value: 90
}]
}
}})
Завершается успешно, однако если я хочу, что value было массивом, запрос ничего не возвращает.
db.getCollection("humans").find({
specifications: {
$elemMatch: {
$in: [{
name: "Вес",
value: { $in: [90, 80]}
}]
}
}})
Как правильно оформить запрос?
$in=>$eq– Dmytro May 16 '19 at 11:49$orпробовали? – Dmytro May 16 '19 at 12:20