Мне нужно переименовать поле документа из моего массива. Это мой документ:
"_id" : ObjectId("5bda09a090ecff10f7275781"),
"color" : "blue",
"levels" : [
{
"level" : 1,
"tag" : "AB"
},
{
"level" : 2,
"tag" : "AA"
},
{
"level" : 3,
"tag" : "BB"
}
]
Мне нужно переименовать поле вложенного документа level в indice на моей стадии $ проекта, но я не добился успеха.
Вот моя агрегатная функция и нежелательный результат:
db.test.aggregate({$project: {color:1, 'levels.tag':1, 'levels.indice': '$levels.level'}}).pretty()
Нежелательный результат:
"_id" : ObjectId("5bda09a090ecff10f7275781"),
"color" : "blue",
"levels" : [
{
"tag" : "AB",
"indice" : [
1,
2,
3
]
},
{
"tag" : "AA",
"indice" : [
1,
2,
3
]
},
{
"tag" : "BB",
"indice" : [
1,
2,
3
]
}
]
Я просто надеюсь, что следующий результат:
"_id" : ObjectId("5bda09a090ecff10f7275781"),
"color" : "blue",
"levels" : [
{
"indice" : 1,
"tag" : "AB"
},
{
"indice" : 2,
"tag" : "AA"
},
{
"indice" : 3,
"tag" : "BB"
}
]
Кто-нибудь может мне помочь? Большое спасибо!