Учитывая эту встроенную структуру документа:
organisation
district
property
installation
installation_type
I wi sh, чтобы получить только свойства, где тип_установки = например, 'Газовый котел'
Я пробовал:
db.organisation.find({ "district.property.installation.installation_type": { $all: ['Gas boiler'] }})
, но при этом возвращается весь документ для любой организации с газовым котлом. Это означает, что я также получаю свойства, которые не имеют газовых котлов. Я хочу список только свойства с «Газовыми котлами»
Пример do c:
db.organisation.insert({
_id: 'Organsiation 1',
district: [
{
_id: 'District 1',
property: [
{
_id: 'Property 1',
address_line_1: 'Adress 1',
installation: [
{
_id: 'HS01',
installation_type: 'Gas boiler',
component: [
{
_id: 'P01',
component_type: 'Circulation pump',
},
{
_id: 'EXP01',
component_type: 'Expansion tank',
},
],
},
{
_id: 'HW01',
installation_type: 'Electric water heater',
component: [
{
_id: 'P01',
component_type: 'Circulation pump',
},
],
},
{
_id: 'V01',
installation_type: 'Ventilation',
}
]
},
]
},
{
_id: 'District 2',
property: [
{
_id: 'Property 2',
address_line_1: 'Adress 2',
installation: [
{
_id: 'HS01',
installation_type: 'Geo Heat Pump',
},
{
_id: 'HS02',
installation_type: 'Gas boiler',
}
]
},
{
_id: 'Property 3',
installation: [
{
_id: 'HS01',
installation_type: 'Gas boiler',
}
]
},
],
}
]
})
Как мне это сделать