Khi tên collection chứa ký tự đặc biệt (dấu gạch ngang, dấu chấm, số...), không thể truy xuất trực tiếp bằng db.tên_collection. Phải dùng db.getCollection('tên_collection').
Tạo collection với tên phức tạp:
> db.createCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368');
{ "ok" : 1 }
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57e2152ae06a1609a00aea") }
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57e21a2ae06a1609a00aeb") }
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57e21e2ae06a1609a00aec") }
Truy vấn dữ liệu:
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').find();
Kết quả:
{ "_id" : ObjectId("5e57e2152ae06a1609a00aea"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5e57e21a2ae06a1609a00aeb"), "FirstName" : "David" }
{ "_id" : ObjectId("5e57e21e2ae06a1609a00aec"), "FirstName" : "Bob" }
Quy tắc đặt tên collection:
- Không được rỗng
- Không chứa ký tự null (\0)
- Không bắt đầu bằng "system." (dành cho hệ thống)
- Nên tránh ký tự đặc biệt để code dễ đọc hơn
Luôn sử dụng db.getCollection() khi tên không tuân theo quy tắc identifier JavaScript.