Để đọc một cặp key-value cụ thể từ document lồng nhau trong MongoDB, bạn sử dụng ký pháp dấu chấm (dot notation) trong projection của find().
Tạo dữ liệu mẫu
> db.readSpecificKeyValueDemo.insertOne(
{
"_id": 100,
"StudentDetails": {
"StudentFirstName" : "David",
"StudentLastName" :"Miller",
"StudentAge":23,
"StudentCountryName":"US"
}
}
);
{ "acknowledged" : true, "insertedId" : 100 }
Hiển thị document:
> db.readSpecificKeyValueDemo.find().pretty();
Đọc trường cụ thể: StudentCountryName
> db.readSpecificKeyValueDemo.find({},{ "StudentDetails.StudentCountryName":1 }).pretty();Kết quả:
Giải thích:
- Tham số đầu tiên
{}- điều kiện truy vấn (rỗng = tất cả) - Tham số thứ hai
{"StudentDetails.StudentCountryName":1}- projection - Sử dụng
StudentDetails.StudentCountryName(dot notation) để chỉ định trường lồng nhau _idluôn được trả về trừ khi đặt_id:0
Cách này áp dụng cho document lồng nhau ở bất kỳ độ sâu nào: "level1.level2.level3.field": 1.