MongoDB查询以从数组返回特定​​字段?

要返回特定字段,请使用聚合$project。首先让我们创建一个包含文档的集合-

> db.returnSpecificFieldDemo.insertOne(

   {

      "StudentId":1,

      "StudentDetails": [

         {

            "StudentName":"Larry",

            "StudentAge":21,

            "StudentCountryName":"US"

         },

         {

            "StudentName":"Chris",

            "StudentAge":23,

            "StudentCountryName":"AUS"

         }

      ]

   }

);

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5ce23d3236e8b255a5eee943")

}

以下是在find()方法的帮助下显示集合中所有文档的查询-

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

这将产生以下输出-

{

   "_id" : ObjectId("5ce23d3236e8b255a5eee943"),

   "StudentId" : 1,

   "StudentDetails" : [

      {

         "StudentName" : "Larry",

         "StudentAge" : 21,

         "StudentCountryName" : "US"

      },

      {

         "StudentName" : "Chris",

         "StudentAge" : 23,

         "StudentCountryName" : "AUS"

      }

   ]

}

以下是从数组返回特定字段的查询-

> db.returnSpecificFieldDemo.aggregate([{$project:{_id:0, StudentId:'$StudentId', StudentCountryName:{ $arrayElemAt: ['$StudentDetails.StudentCountryName',1] }}}]);

这将产生以下输出-

{ "StudentId" : 1, "StudentCountryName" : "AUS" }

以上是 MongoDB查询以从数组返回特定​​字段? 的全部内容, 来源链接: utcz.com/z/335273.html

回到顶部