MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

mongo db update che cambia l'ordine dei campi oggetto

Puoi utilizzare Proiezione MongoDB anche. (modo consigliato)

Di seguito è riportato l'esempio:

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

Ti dà l'output come ti aspettavi, ad es.

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

Un altro modo è che, una volta inseriti i documenti in Node.js, puoi riordinare i campi in JSON.

Esempio:

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

Metti l'ordine delle chiavi che desideri in un array e fornisci alla funzione. Quindi analizza di nuovo il risultato in JSON.

Motivo per cui accade:

MongoDB alloca spazio per un nuovo documento in base a un determinato fattore di riempimento. Se il tuo aggiornamento aumenta la dimensione del documento oltre la dimensione originariamente assegnata, il documento verrà spostato alla fine della raccolta. Lo stesso concetto si applica ai campi di un documento.

Se sei veramente interessato e vuoi approfondire, ecco il link per ulteriori informazioni