Chèn document chứa mảng object lồng nhau
MongoDB hỗ trợ lưu trữ mảng các object phức tạp trực tiếp trong document. Đây là một trong những điểm mạnh của model tài liệu.
Ví dụ: Lưu thông tin người dùng
> db.demo321.insertOne({
"UserDetails": [
{ "UserId": 101, "UserName": "Chris" },
{ "UserId": 102, "UserName": "Mike" }
]
});
> db.demo321.insertOne({
"UserDetails": [
{ "UserId": 103, "UserName": "Bob" },
{ "UserId": 104, "UserName": "Sam" }
]
});
Truy vấn dữ liệu
> db.demo321.find();
{
"_id": ObjectId("..."),
"UserDetails": [
{ "UserId": 101, "UserName": "Chris" },
{ "UserId": 102, "UserName": "Mike" }
]
}
{
"_id": ObjectId("..."),
"UserDetails": [
{ "UserId": 103, "UserName": "Bob" },
{ "UserId": 104, "UserName": "Sam" }
]
}
Ưu điểm: Truy vấn nhanh, không cần JOIN như SQL. Có thể index vào trường bên trong mảng (multikey index).