Tạo collection với mảng tài liệu nhúng:
> db.embeddedDocumentDemo.insertOne({
"CustomerDetails": [
{"CustomerName": "Chris", "CustomerPurchasePrice": 3000},
{"CustomerName": "Robert", "CustomerPurchasePrice": 4500},
{"CustomerName": "David", "CustomerPurchasePrice": 1000}
]
});
{ "acknowledged": true, "insertedId": ObjectId("5cd32347edc6604c74817ccd") }
Hiển thị tài liệu
> db.embeddedDocumentDemo.find().pretty();
Kết quả:
{
"_id": ObjectId("5cd32347edc6604c74817ccd"),
"CustomerDetails": [
{"CustomerName": "Chris", "CustomerPurchasePrice": 3000},
{"CustomerName": "Robert", "CustomerPurchasePrice": 4500},
{"CustomerName": "David", "CustomerPurchasePrice": 1000}
]
}
Truy vấn tài liệu có CustomerPurchasePrice = 4500 trong mảng nhúng
> db.embeddedDocumentDemo.find({"CustomerDetails.CustomerPurchasePrice": 4500});
Kết quả (trả về toàn bộ tài liệu cha vì ít nhất một phần tử khớp):
{
"_id": ObjectId("5cd32347edc6604c74817ccd"),
"CustomerDetails": [
{"CustomerName": "Chris", "CustomerPurchasePrice": 3000},
{"CustomerName": "Robert", "CustomerPurchasePrice": 4500},
{"CustomerName": "David", "CustomerPurchasePrice": 1000}
]
}
Giải thích: Khi truy vấn trường trong mảng đối tượng nhúng, MongoDB trả về toàn bộ tài liệu gốc nếu bất kỳ phần tử nào trong mảng khớp điều kiện.