MongoDB returnerer som standard felter i rækkefølge efter deres indsættelse.
f.eks.
db.students.aggregate([ { "$project": { "midterm": 1,"final": 1 } } ])
vender tilbage
{ "_id" : 3, "final" : 78, "midterm" : 70 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }
som du kan se anden post, er dets felter i den rækkefølge, som vi indsatte. Vi kan dog spille et trick for at få dem i den ønskede rækkefølge ved at omdøbe felter.
f.eks.
db.students.aggregate([ { "$project": { _midterm:"$midterm","_final": "$final"}}])
ovenstående forespørgsel vil returnere
{ "_id" : 3, "_midterm" : 70, "_final" : 78 }
{ "_id" : 2, "_midterm" : 60, "_final" : 55 }
{ "_id" : 1, "_midterm" : 70 }
her er midtvejs første og finale er anden med én undtagelse. feltnavne er præfikset med _
. hvis du vil have originale navne, kan du project
igen.
db.students.aggregate(
[
{ "$project": { _midterm:"$midterm","_final": "$final"}},
{ "$project": { midterm:"$_midterm","final": "$_final"}}
])
og den vender tilbage
{ "_id" : 3, "midterm" : 70, "final" : 78 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }