MongoDB secara default mengembalikan bidang sesuai urutan penyisipannya.
misalnya
db.students.aggregate([ { "$project": { "midterm": 1,"final": 1 } } ])
akan kembali
{ "_id" : 3, "final" : 78, "midterm" : 70 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }
seperti yang Anda lihat pada rekaman kedua, bidangnya sesuai urutan yang kami masukkan. Namun, kami dapat memainkan trik untuk membuatnya sesuai urutan yang Anda inginkan dengan mengganti nama bidang.
misalnya
db.students.aggregate([ { "$project": { _midterm:"$midterm","_final": "$final"}}])
kueri di atas akan kembali
{ "_id" : 3, "_midterm" : 70, "_final" : 78 }
{ "_id" : 2, "_midterm" : 60, "_final" : 55 }
{ "_id" : 1, "_midterm" : 70 }
di sini midterm adalah yang pertama dan final adalah yang kedua dengan satu pengecualian. nama bidang diawali dengan _
. jika Anda menginginkan nama asli, Anda dapat project
lagi.
db.students.aggregate(
[
{ "$project": { _midterm:"$midterm","_final": "$final"}},
{ "$project": { midterm:"$_midterm","final": "$_final"}}
])
dan itu akan kembali
{ "_id" : 3, "midterm" : 70, "final" : 78 }
{ "_id" : 2, "midterm" : 60, "final" : 55 }
{ "_id" : 1, "midterm" : 70 }