通过 MongoDB 的投影从嵌套文档中移除除一个字段外的所有字段


将不需要包含在内的字段设为 0。这会在使用 find() 时显示其他值。让我们首先创建一个带有文档的集合 -

> db.demo237.insertOne({
...   _id:101,
...   Product: {
...      description1: {id:1001 },
...      description2: {Name:"Product-1" },
...      description3: {Price:550 }
...   }
...}
...);
{ "acknowledged" : true, "insertedId" : 101 }

使用 find() 方法在集合中显示所有文档 -

> db.demo237.find().pretty();

这将生成以下输出 -

{
   "_id" : 101,
   "Product" : {
      "description1" : {
         "id" : 1001
      },
      "description2" : {
         "Name" : "Product-1"
      },
      "description3" : {
         "Price" : 550
      }
   }
}

以下是通过投影从嵌套文档中移除除单一字段外的所有字段的查询 -

> db.demo237.find({}, { "Product.description1": 0, "Product.description3": 0 });

这将生成以下输出 -

{ "_id" : 101, "Product" : { "description2" : { "Name" : "Product-1" } } }

更新于: 30-Mar-2020

275 次浏览

开启您的 职业生涯

通过完成本课程获得认证

开始学习
广告
© . All rights reserved.