#mongodb-query
#mongodb-запрос
Вопрос:
Представьте следующий пример.
{
"a": {
"id": 1,
"b": {
"items: {
"1": {
fieldA: "value",
fieldB: "value"
},
"2": {
fieldA: "value",
fieldB: "value"
},
"3": {
fieldA: "value",
fieldB: "value"
},
}
}
}
"a": {
"id": 2,
"b": {
"items: {
"1": {
fieldA: "value",
fieldB: "value"
},
"2": {
fieldA: "value"
},
"3": {
fieldA: "value"
}
}
}
}
}
Теперь я хочу получить все a, где «FieldB» отсутствует внутри любого элемента. В приведенном выше примере результатом должно быть a с id==2. Есть идеи, как это сделать?
Ответ №1:
Хорошо, найдено решение.
{
{ $project: { items: { $objectToArray: '$a.b.items' } } },
{ $match: { 'items.v.fieldB': { $exists : false } } }
}