MongoDB gibt standardmäßig Felder in der Reihenfolge ihrer Einfügung zurück.
zB
db.students.aggregate([ { "$project": { "midterm": 1,"final": 1 } } ])
gibt
zurück{ "_id" : 3, "final" : 78, "midterm" : 70 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }
Wie Sie im zweiten Datensatz sehen können, sind die Felder in der Reihenfolge, in der wir sie eingefügt haben. Wir können jedoch einen Trick spielen, um sie in die gewünschte Reihenfolge zu bringen, indem wir die Felder umbenennen.
zB
db.students.aggregate([ { "$project": { _midterm:"$midterm","_final": "$final"}}])
obige Abfrage wird zurückgegeben
{ "_id" : 3, "_midterm" : 70, "_final" : 78 }
{ "_id" : 2, "_midterm" : 60, "_final" : 55 }
{ "_id" : 1, "_midterm" : 70 }
hier steht Midterm an erster Stelle und Final an zweiter Stelle mit einer Ausnahme. Feldnamen wird das Präfix _
vorangestellt . wenn Sie Originalnamen wollen, können Sie project
nochmal.
db.students.aggregate(
[
{ "$project": { _midterm:"$midterm","_final": "$final"}},
{ "$project": { midterm:"$_midterm","final": "$_final"}}
])
und es wird zurückkehren
{ "_id" : 3, "midterm" : 70, "final" : 78 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }