Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tìm kiếm trường con (sub-field) trong MongoDB

Sử dụng dấu chấm (dot notation) trong dấu ngoặc kép để truy cập sub-field.

Tạo collection

> db.searchSubFieldDemo.insertOne({
    "UserDetails": { "UserEmailId": "John123@gmail.com", "UserAge": 21 }
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3d909edc6604c74817ce2") }
> db.searchSubFieldDemo.insertOne({
    "UserDetails": { "UserEmailId": "Carol@yahoo.com", "UserAge": 26 }
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3d9a4edc6604c74817ce3") }

Hiển thị tất cả

> db.searchSubFieldDemo.find().pretty();

Tìm theo sub-field UserEmailId

> db.searchSubFieldDemo.find({ "UserDetails.UserEmailId": "Carol@yahoo.com" });

Kết quả:

{
    "_id": ObjectId("5cd3d9a4edc6604c74817ce3"),
    "UserDetails": { "UserEmailId": "Carol@yahoo.com", "UserAge": 26 }
}

Lưu ý: Tên trường có dấu chấm phải đặt trong dấu ngoặc kép: "UserDetails.UserEmailId". Không cần dấu ngoặc kép nếu không có ký tự đặc biệt, nhưng khuyến nghị luôn dùng cho nhất quán.