Bạn có thể sử dụng ký hiệu dấu chấm để nhận giá trị lồng nhau. 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.nestedQueryDemo.insertOne(
... {
...
... "EmployeeName" : "John",
... "EmployeeDetails" :
... {
...
... "_id":"EMP-101",
... "EmployeeAge":23,
... "EmployeeCompanyName":"IBM"
...
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9ea31dd628fa4220163b69")
}
> db.nestedQueryDemo.insertOne(
... {
...
... "EmployeeName" : "Carol",
... "EmployeeDetails" :
... {
...
... "_id":"EMP-110",
... "EmployeeAge":29,
... "EmployeeCompanyName":"Amazon"
...
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9ea36bd628fa4220163b6a")
} 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.nestedQueryDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau
{
"_id" : ObjectId("5c9ea31dd628fa4220163b69"),
"EmployeeName" : "John",
"EmployeeDetails" : {
"_id" : "EMP-101",
"EmployeeAge" : 23,
"EmployeeCompanyName" : "IBM"
}
}
{
"_id" : ObjectId("5c9ea36bd628fa4220163b6a"),
"EmployeeName" : "Carol",
"EmployeeDetails" : {
"_id" : "EMP-110",
"EmployeeAge" : 29,
"EmployeeCompanyName" : "Amazon"
}
} Sau đây là truy vấn cho truy vấn giá trị lồng nhau của MongoDB
> db.nestedQueryDemo.find({"EmployeeDetails._id":"EMP-110"}).pretty(); Điều này sẽ tạo ra kết quả sau
{
"_id" : ObjectId("5c9ea36bd628fa4220163b6a"),
"EmployeeName" : "Carol",
"EmployeeDetails" : {
"_id" : "EMP-110",
"EmployeeAge" : 29,
"EmployeeCompanyName" : "Amazon"
}
}