MongoDB聚合$project返回“a”;一致的;对象

MongoDB聚合$project返回“a”;一致的;对象,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我正在使用$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.getCollect

我正在使用$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" }
我真的希望它返回一个空的或空白的“年龄”

{ _id: 1, name: "ann", age: "", height: "5.5 feet" }
我如何做到这一点,使我的所有对象都具有我在项目中定义的所有字段,即使它们从记录中丢失


谢谢

您可以在项目阶段使用$ifNull来声明默认值


您可以在项目阶段使用$ifNull来声明默认值