MongoDB retourneert standaard velden in volgorde van invoeging.
bijv.
db.students.aggregate([ { "$project": { "midterm": 1,"final": 1 } } ])
zal terugkeren
{ "_id" : 3, "final" : 78, "midterm" : 70 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }
zoals je het tweede record kunt zien, zijn de velden in de volgorde waarin we ze hebben ingevoegd. We kunnen echter een trucje uithalen om ze in de door jou gewenste volgorde te krijgen door de velden te hernoemen.
bijv.
db.students.aggregate([ { "$project": { _midterm:"$midterm","_final": "$final"}}])
bovenstaande zoekopdracht zal terugkeren
{ "_id" : 3, "_midterm" : 70, "_final" : 78 }
{ "_id" : 2, "_midterm" : 60, "_final" : 55 }
{ "_id" : 1, "_midterm" : 70 }
hier is de midterm de eerste en de laatste is de tweede met één uitzondering. veldnamen worden voorafgegaan door _
. als je originele namen wilt, kun je project
nogmaals.
db.students.aggregate(
[
{ "$project": { _midterm:"$midterm","_final": "$final"}},
{ "$project": { midterm:"$_midterm","final": "$_final"}}
])
en het zal terugkeren
{ "_id" : 3, "midterm" : 70, "final" : 78 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }