Я новичок в пн go БД и был бы признателен за помощь в выполнении следующей задачи запроса.
У меня есть коллекция документов, которая выглядит следующим образом:
{
"field_1" : {
"subfield_1" : {
"subsubfield_1" : "true",
"subsubfield_2" : "false",
"subsubfield_3" : "true"
},
"subfield_2" : "sf2"
},
"field_2" : {
"subfield_1" : {
"subsubfield_1" : "true",
"subsubfield_2" : "false"
},
"subfield_2" : "sf2"
},
"field_3" : {
"subfield_1" : {
"subsubfield_1" : "true",
"subsubfield_2" : "false",
"subsubfield_3" : "false"
},
"subfield_2" : "sf2"
}
}
И Я пытаюсь сделать запрос так, чтобы я для каждого элемента в коллекции (1) точно указывал, какие поля возвращать (в этом случае subfield_1
и subfield_2
, и (2) для subfield_1
возвращает только счетчик true
элементов. Поэтому я хотел бы, чтобы выходные данные выглядели следующим образом:
{
{
"subfield_1" : 2,
"subfield_2" : "sf2"
},
{
"subfield_1" : 1,
"subfield_2" : "sf2"
},
{
"subfield_1" : 1,
"subfield_2" : "sf2"
}
}
Я пробовал этот код, но он дает только количество записей в subfield_1
для каждого элемента:
db.getCollection('myCollection').aggregate(
{
$match: {<some other condition>}
},
{
$project: {
subfield_2: 1,
subfield_1: {'$size': '$subfield_1'}
}
}
)
Заранее спасибо!