У меня есть коллекция MongoDB как этотMongoDB GroupBy
{
"_id" : "EkKTRrpH4FY9AuRLj",
"stage" : 10,
},
{
"_id" : "EkKTRrpH4FY9AuRLj",
"stage" : 10,
},
{
"_id" : "EkKTRrpH4FY9AuRLj",
"stage" : 20,
}
И я хочу, чтобы сгруппировать его в
stage: 10 in paid
stage: 20 in unpaid
Результат должен выглядеть следующим образом
{
"paid": [
{
"_id" : "EkKTRrpH4FY9AuRLj",
"stage" : 10,
},
{
"_id" : "EkKTRrpH4FY9AuRLj",
"stage" : 10,
}
],
"unpaid": [
{
"_id" : "EkKTRrpH4FY9AuRLj",
"stage" : 20,
}
]
}
Как я могу идти об этом ?
Благодаря он работал. также если я хочу весь объект, я должен передать каждый ключ в $ cond или есть какой-либо вариант для этого – sumair
Вы можете выбрать ['' $$ ROOT "'] (https://docs.mongodb.com/v3.0 /reference/aggregation-variables/#variable.ROOT) системная переменная '' $ cond ": [ {" $ eq ": [" $ stage ", 20]}, $$ ROOT, false ]' но будет лично не рекомендуйте его, так как он должен использоваться, если итоговые документы не должны превышать [Размер документа для размера BSON] (https://docs.mongodb.com/v3.0/reference/limits/#BSON-Document-Size). – chridam