MongoDB 查詢陣列中的部分物件


我們首先使用文件建立集合 -

> db.queryForPartialObjectDemo.insertOne({_id:new ObjectId(), "StudentDetails": [{"StudentId":1, "StudentName":"Chris"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdfcf55bf3115999ed51206")
}
> db.queryForPartialObjectDemo.insertOne({_id:new ObjectId(), "StudentDetails": [{"StudentId":2, "StudentName":"David"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdfcf55bf3115999ed51207")
}

以下查詢透過 find() 方法來顯示集合中的所有文件 -

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

這將產生以下輸出 -

{
   "_id" : ObjectId("5cdfcf55bf3115999ed51206"),
   "StudentDetails" : [
      {
         "StudentId" : 1,
         "StudentName" : "Chris"
      }
   ]
}
{
   "_id" : ObjectId("5cdfcf55bf3115999ed51207"),
   "StudentDetails" : [
      {
         "StudentId" : 2,
         "StudentName" : "David"
      }
   ]
}

第一種方法

以下是 MongoDB 中陣列中部分物件的查詢 -

> db.queryForPartialObjectDemo.find({StudentDetails: {StudentId: 1, "StudentName" : "Chris"}});

這將產生以下輸出 -

{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }

第二種方法

以下是使用點表示法的陣列中部分物件的查詢 -

> db.queryForPartialObjectDemo.find({"StudentDetails.StudentName":"Chris"});

這將產生以下輸出 -

{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }

更新於: 30-Jul-2019

373 次瀏覽

開啟您的 事業

完成課程後即可獲取認證

開始
廣告