Вот мой код в mongodb:.Добавление hardcoded свойства в json-выход
db.mydb.aggregate([
{ "$group": {
"_id": {
"A": "$A",
"B": "$B",
"C": "$C"
},
}},
{ "$group": {
"cpt": { '$sum': 1 } ,
"_id": "$_id.A",
"allowDrag": {'$literal':false},
"expanded": {'$literal':false},
"children": {
"$push": {
"text": "$_id.B",
"details": "$_id.C",
"leaf": {'$literal': true},
}
},
}}
])
Я хотел бы добавить в мой вывод JSon некоторые жёстко прописанные свойства и значения, он работает с
"лист": { '$ буквальным': истинный}
но Я не знаю, почему я не могу сделать это с
"allowDrag": { '$ буквальным' ложь}, "расширил": { "$ Lit eral ': false}
Возможно ли это с помощью группы $ group?
Пример вывода JSON У меня есть:
"result" : [
{
"_id" : "A",
"cpt" : 1,
"children" : [
{
"text" : "B",
"details" : "C",
"leaf" : true
}
]
}]
Пример вывода JSON Я бы хотел:
"result" : [
{
"_id" : "A",
"cpt" : 1,
"allowDrag" : false,
"expanded" : false,
"children" : [
{
"text" : "B",
"details" : "C",
"leaf" : true
}
]
}]
Проблема заключается в том, что вы не можете проецировать поля, отсутствующие в '$ group' стадии, если ОП не требуется добавить новые поля. Возможно, я ошибаюсь. – styvane
@Michael Вы пробовали? ** '$ literal' ** возвращает значение без разбора. Выражение '' allowDrag ": {$ literal: false}' возвращает новое поле 'allowDrag', установленное на значение false. OP сказал: я хотел бы добавить в свой json-выход некоторые жестко заданные свойства и значения. – chridam
извините, не понял этого. +1 :) – styvane