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

cập nhật mongo db thay đổi thứ tự của các trường đối tượng

Bạn có thể sử dụng phép chiếu MongoDB nữa. (cách đề xuất)

Dưới đây là ví dụ:

db.collection.find({},{
   "Airport":1,
   "Day":1,
   "Humidity":1,
   "Sea Level Pressure":1,
   "State":1,
   "Station Pressure":1,
   "Temperature":1,
   "Time":1,
   "Wind Direction":1,
   "Wind Speed":1,
   "_id":1,
   "month_high":1
});

Cung cấp cho bạn kết quả như bạn mong đợi, tức là

{
   "Airport":"ORL",
   "Day":8,
   "Humidity":55,
   "Sea Level Pressure":196,
   "State":"Florida",
   "Station Pressure":29.97,
   "Temperature":82,
   "Time":1553,
   "Wind Direction":170,
   "Wind Speed":5,
   "_id":ObjectId("5340eff554f98e32c5990b4f"),
   "month_high":true
}, ...

Một cách khác là khi bạn nhận được tài liệu vào Node.js, bạn có thể sắp xếp lại các trường trong JSON.

Ví dụ:

var json = {"name": "David", "age" : 78, "NoOfVisits" : 4   };
console.log(json);
//outputs - Object {name: "David", age: 78, NoOfVisits: 4}
//change order to NoOfVisits,age,name

var k = JSON.parse(JSON.stringify( json, ["NoOfVisits","age","name"] , 4));
console.log(k);
//outputs - Object {NoOfVisits: 4, age: 78, name: "David"} 

Đặt thứ tự khóa bạn muốn vào một mảng và cung cấp cho hàm. Sau đó, phân tích cú pháp kết quả trở lại JSON.

Lý do tại sao nó xảy ra:

MongoDB phân bổ không gian cho một tài liệu mới dựa trên một hệ số đệm nhất định. Nếu bản cập nhật của bạn làm tăng kích thước của tài liệu vượt quá kích thước được cấp phát ban đầu, tài liệu sẽ được chuyển đến cuối bộ sưu tập. Khái niệm tương tự cũng áp dụng cho các trường trong tài liệu.

Nếu bạn thực sự quan tâm và muốn tìm hiểu thêm thì đây là liên kết để biết thêm thông tin



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hướng dẫn về MongoDB với Java

  2. Lỗi truy vấn Mongodb được chọn lồng nhau

  3. Xóa tài liệu khỏi bộ sưu tập mongodb từ node.js

  4. Truy vấn Morphia theo Id

  5. Các tính năng bảo mật và quản lý sao lưu mới cho MySQL &PostgreSQL:ClusterControl Release 1.6.2