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