MongoDB domaine de l'ordre et de document de changement de position après la mise à jour

Je suis à l'apprentissage de MongoDB et j'ai remarqué que chaque fois que je fais une mise à jour sur un document, le champ en cours de mise à jour est poussé jusqu'à la fin de la commande, donc si j'avais quelque chose comme:

db.collection.save({field1: value1, field2: value2, ..., field 10: value10});
db.collection.update({field1: value1}, {$set: {field2: new_value}});

alors si vous n':

db.collection.find();

il affichera:

{ "field1":"value1", ..., "field10":"value10", "field2":"new_value"}

Vous pouvez voir comment le domaine des changements d'ordre où la mise à jour de champ est poussée à la fin du document. En outre, le document lui-même est poussé à la fin de la collectoin. Je sais que c'est un "schéma" de la DB et il ne peut pas être un énorme problème, mais il n'a tout simplement pas le look "joli" :). Est-il un moyen de faire une mise à jour en place sans modification de l'ordre?

OriginalL'auteur techexpert | 2011-02-18