MongoDB по подразбиране връща полета по реда на тяхното вмъкване.
напр.
db.students.aggregate([ { "$project": { "midterm": 1,"final": 1 } } ])
ще върне
{ "_id" : 3, "final" : 78, "midterm" : 70 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }
както можете да видите втория запис, полетата му са в реда, в който сме вмъкнали. Въпреки това можем да изиграем номер, за да ги приведем в желания от вас ред, като преименуваме полета.
напр.
db.students.aggregate([ { "$project": { _midterm:"$midterm","_final": "$final"}}])
горната заявка ще върне
{ "_id" : 3, "_midterm" : 70, "_final" : 78 }
{ "_id" : 2, "_midterm" : 60, "_final" : 55 }
{ "_id" : 1, "_midterm" : 70 }
тук междинният е първи, а финалът е втори с едно изключение. имената на полетата са с префикс _
. ако искате оригинални имена, можете да project
отново.
db.students.aggregate(
[
{ "$project": { _midterm:"$midterm","_final": "$final"}},
{ "$project": { midterm:"$_midterm","final": "$_final"}}
])
и ще се върне
{ "_id" : 3, "midterm" : 70, "final" : 78 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }