Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn MongoDB cho Đối tượng một phần trong một mảng

Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> 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")
}

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

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

Điều này sẽ tạo ra kết quả sau -

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

Phương pháp tiếp cận đầu tiên

Sau đây là truy vấn cho một phần đối tượng trong mảng với MongoDB -

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

Điều này sẽ tạo ra kết quả sau -

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

Phương pháp tiếp cận thứ hai

Sau đây là truy vấn cho đối tượng một phần trong một mảng có ký hiệu dấu chấm -

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

Điều này sẽ tạo ra kết quả sau -

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