Để truy vấn mảng chuỗi lồng nhau, bạn có thể sử dụng ký hiệu dấu chấm (.). 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.nestedStringDemo.insertOne( { "CustomerName": "John", "CustomerOtherDetails": [ { "Age":29, "CountryName": "US" }, { "CompanyName": "Amazon", "Salary": 150000, "ProjectName": ["Online Library Management System", "Pig Dice Game"] } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5cea4629ef71edecf6a1f690") } > db.nestedStringDemo.insertOne( { "CustomerName": "Chris", "CustomerOtherDetails": [ { "Age":27, "CountryName": "AUS" }, { "CompanyName": "Google", "Salary": 250000, "ProjectName": ["Chat Application", "Game Design"] } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5cea466eef71edecf6a1f691") }
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.nestedStringDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5cea4629ef71edecf6a1f690"), "CustomerName" : "John", "CustomerOtherDetails" : [ { "Age" : 29, "CountryName" : "US" }, { "CompanyName" : "Amazon", "Salary" : 150000, "ProjectName" : [ "Online Library Management System", "Pig Dice Game" ] } ] } { "_id" : ObjectId("5cea466eef71edecf6a1f691"), "CustomerName" : "Chris", "CustomerOtherDetails" : [ { "Age" : 27, "CountryName" : "AUS" }, { "CompanyName" : "Google", "Salary" : 250000, "ProjectName" : [ "Chat Application", "Game Design" ] } ] }
Bây giờ, chúng ta hãy truy vấn một mảng chuỗi lồng nhau bằng cách sử dụng ký hiệu dấu chấm -
> db.nestedStringDemo.find({"CustomerOtherDetails.ProjectName":"Chat Application"}).pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5cea466eef71edecf6a1f691"), "CustomerName" : "Chris", "CustomerOtherDetails" : [ { "Age" : 27, "CountryName" : "AUS" }, { "CompanyName" : "Google", "Salary" : 250000, "ProjectName" : [ "Chat Application", "Game Design" ] } ] }