Я использую $ project, поэтому мой возвращаемый объект согласован, но выглядит так, как будто он пропускает поле, если его нет в записи.
Пример набора данных:
{ _id: 1, age: 32, name: "bob", height: "6 feet" }
{ _id: 1, name: "jim", age: 22, height: "4 feet" }
{ _id: 1, name: "ann", height: "5.5 feet" }
Примечание У Анны отсутствует "возраст"
Я использую эту агрегацию для получения полей, возвращаемых в том же порядке:
db.getCollection('ppl').aggregate([{ "$project": {
"name": "$name",
"age" : "$age",
"height" : "$height"
}}]
Но Энн возвращается в следующем виде:
{ _id: 1, name: "ann", height: "5.5 feet" }
I действительно хочу, чтобы он вернулся с нулевым или пустым "возрастом"
{ _id: 1, name: "ann", age: "", height: "5.5 feet" }
Как я могу это сделать, чтобы ВСЕ мои объекты имели ВСЕ поля, которые я определил в ПРОЕКТЕ, даже если они отсутствуют в записи . ???
Спасибо