Mongodb 如何使用find()获取具有相同架构的所有字段?

Mongodb 如何使用find()获取具有相同架构的所有字段?,mongodb,Mongodb,我正在使用本机mongodb节点包。 采集样本: { a: 'aa', b: 'bb' }, { a: 'aa' } 在本例中,如果使用find(),将得到与集合显示的完全相同的结果。 这就是我想要的: { a: 'aa', b: 'bb' }, { a: 'aa', b: null (or '') } 我尝试使用投影来完成此操作,但它不起作用。您可以将mongodb$ifNull(聚合)与$project一起使用 db.test.aggregate([

我正在使用本机mongodb节点包。 采集样本:

{
  a: 'aa',
  b: 'bb'
},
{
  a: 'aa'
}
在本例中,如果使用find(),将得到与集合显示的完全相同的结果。 这就是我想要的:

{
  a: 'aa',
  b: 'bb'
},
{
  a: 'aa',
  b: null (or '')
}

我尝试使用投影来完成此操作,但它不起作用。

您可以将mongodb$ifNull(聚合)与$project一起使用

db.test.aggregate([
      {
          $project: {
             a:1, 
             b: { $ifNull: [ "$b", "null" ] }
          }
       }
   ])
输出将是

{
  a: 'aa',
  b: 'bb'
},
{
  a: 'aa',
  b: "null")
}

非常感谢,成功了!