MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Apakah mungkin untuk mendapatkan bidang dalam urutan proyeksi di agregasi Kerangka mongo

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 }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pertimbangan untuk Mengelola MongoDB

  2. Membuat Spark, Python, dan MongoDB bekerja bersama

  3. Meminta Data dari MongoDB menggunakan GraphQL di Django:Get-Go (1)

  4. Kueri MongoDB $in dengan array elemen regex

  5. Mengurutkan berdasarkan bidang array maksimum, naik atau turun