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

Truy xuất collection MongoDB có tên chứa chữ và số

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.