Để truy vấn một khóa (field) có chứa khoảng trắng trong tên, bạn sử dụng ký pháp dấu chấm (dot notation) và đặt tên trường trong dấu nháy kép.
Các bước thực hiện
Bước 1: Tạo document có khóa chứa khoảng trắng
> myValues["Details"] = {}
{ }
> myValues["Details"]["Student Name"]="John";
John
> myValues["Details"]["StudentAge"]=26;
26
Bước 2: Chèn document vào collection
> db.keyHavingSpaceDemo.insertOne( myValues);
{ "acknowledged" : true, "insertedId" : ObjectId("5ca27e3b6304881c5ce84ba4") }
Hiển thị document:
> db.keyHavingSpaceDemo.find().pretty();
Kết quả:
{ "_id" : ObjectId("5ca27e3b6304881c5ce84ba4"), "Details" : {
"Student Name" : "John", "StudentAge" : 26
} }
Truy vấn khóa có khoảng trắng
Sử dụng dấu chấm và nháy kép: "Details.Student Name"
> db.keyHavingSpaceDemo.find({ "Details.Student Name": "John" } ).pretty();
Kết quả:
{ "_id" : ObjectId("5ca27e3b6304881c5ce84ba4"), "Details" : {
"Student Name" : "John", "StudentAge" : 26
} }
Mẹo: Luôn đặt tên trường có ký tự đặc biệt (khoảng trắng, dấu gạch ngang, v.v.) trong dấu nháy kép khi truy vấn. MongoDB cũng hỗ trợ truy cập qua bracket notation trong shell: db.collection.find({"Details.Student Name": "John"}).