MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thứ tự của các thuộc tính được duy trì như thế nào để sắp xếp trong mongodb?

Đây là một câu hỏi thú vị.

Nó hoạt động như hầu hết các triển khai ECMAScript trên thực tế do giữ nguyên thứ tự khóa (ví dụ:V8 được sử dụng bởi Node). Tuy nhiên, trình điều khiển Node MongoDB chính thức không khuyến khích việc sử dụng nó, thay vào đó nó cung cấp hai ký hiệu khác nhau:

Tài liệu Mongoose không đề cập bất cứ điều gì liên quan đến thứ tự khóa (ít nhất là tôi không biết). Nhưng nó cũng cung cấp hai cách tiếp cận khác nhau để sắp xếp :

Thật vậy, có vẻ như chức năng sắp xếp Mongoose dựa trên giả định sai (nhưng hiện có giá trị). Có lẽ tốt nhất là bạn nên sử dụng ký hiệu chuỗi khi sắp xếp với nhiều khóa. Sắp xếp với ký hiệu đối tượng hoạt động đúng khi sử dụng trực tiếp MongoDB (ví dụ:trong MongoDB shell) vì nó không sử dụng JSON thuần túy mà là JSON mở rộng .

Cũng xem câu hỏi rất liên quan này: Làm cách nào bạn có thể chỉ định thứ tự thuộc tính trong đối tượng javascript cho chỉ mục MongoDB trong node.js?

Ngoài ra còn có một sự cố Mongoose về điều này:

Vì vậy, khi sử dụng Mongoose, hãy sử dụng ký hiệu chuỗi hoặc hỗ trợ mới được thêm vào cho Bản đồ ES2015 được đảm bảo sắp xếp theo thứ tự chèn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. lỗi pymongo:bson.errors.InvalidBSON:codec 'utf8' không thể giải mã byte 0xa1 ở vị trí 25:byte bắt đầu không hợp lệ

  2. Cách tốt nhất để tổ chức các tiểu khu ở Mongo?

  3. PyMongo Cập nhật tài liệu với nhiều bản ghi

  4. MongoDB với C # - truy vấn với vị từ được tạo động

  5. Truy vấn mongo được cung cấp trực tiếp từ chuỗi truy vấn URL nguy hiểm như thế nào?