MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

aktualizacja mongo db zmieniająca kolejność pól obiektów

Możesz użyć projekcja MongoDB również. (zalecany sposób)

Poniżej znajduje się przykład:

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

Daje wynik zgodny z oczekiwaniami, tj.

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

Innym sposobem jest to, że po przeniesieniu dokumentów do Node.js możesz zmienić kolejność pól w JSON.

Przykład:

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

Umieść żądaną kolejność kluczy w tablicy i podaj do funkcji. Następnie przeanalizuj wynik z powrotem do formatu JSON.

Powód, dlaczego tak się dzieje:

MongoDB przydziela miejsce na nowy dokument w oparciu o określony współczynnik wypełnienia. Jeśli Twoja aktualizacja zwiększy rozmiar dokumentu poza pierwotnie przydzielony rozmiar, dokument zostanie przeniesiony na koniec kolekcji. Ta sama koncepcja dotyczy pól w dokumencie.

Jeśli naprawdę jesteś zainteresowany i chcesz się w to zagłębić, oto link do więcej informacje



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd wbudowanej aplikacji Spark i MongoDB w Scala 2.10 maven

  2. Przekształć mapę klawiszy w wektor za pomocą frameworka MongoDB

  3. MongoDB $ceil

  4. Meteor:opublikuj 2 różne projekcje elementów tablicy

  5. $elemmatch nie działa w MongoDB