MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

актуализацията на mongo db променя реда на обектните полета

Можете да използвате проекция на MongoDB както и (препоръчителен начин)

По-долу е примерът:

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
});

Дава ви резултата, както очаквате, т.е.

{
   "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
}, ...

Друг начин е, след като получите документите в Node.js, можете да пренаредите полетата в JSON.

Пример:

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"} 

Поставете желания ред на ключовете в масив и го предайте на функцията. След това анализирайте резултата обратно в JSON.

Причина защо се случва:

MongoDB разпределя място за нов документ въз основа на определен фактор за подпълване. Ако вашата актуализация увеличи размера на документа над първоначално определения размер, документът ще бъде преместен в края на колекцията. Същата концепция се прилага за полета в документ.

Ако наистина се интересувате и искате да се заровите в него, ето връзката за повече информация



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да изчислим разликата между стойностите на различни документи с помощта на агрегиране на mongo?

  2. mongoose findByIdAndDelete / findOneAndRemove не изтрива

  3. MongoDB:Как да върна произволни елементи без Linq? (MongoDB, C#)

  4. Как да получите резултатите от командата mongo в плосък файл

  5. Mongo - съвпадение, когато ключът на обекта е променлив