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

Bisakah mongo mengembalikan dokumen dengan bidang kosong/hilang di bagian akhir dalam urutan asc?

Saat mengembalikan hasil untuk db.jason.find().sort({"rank":1}) , MongoDB akan mengurutkan dokumen berdasarkan jenis "peringkat", dan kemudian berdasarkan nilai "peringkat". Untuk tujuan pengurutan, MongoDB memperlakukan dokumen di mana bidang yang hilang memiliki tipe NULL untuk bidang itu. Jenis NULL diurutkan sebelum jenis numerik, dan ini tidak dapat diubah (lihat http://docs.mongodb.org/manual/reference/method/cursor.sort/ untuk urutan pengurutan tipe bawaan). Saya akan menyarankan untuk membuat dua kueri sebagai gantinya (satu untuk dokumen yang berisi "peringkat", dan satu untuk dokumen tanpa "peringkat") dan menggabungkan hasil dalam aplikasi Anda. Namun, jika Anda perlu menyimpan satu kueri ini, maka Anda perlu menetapkan "peringkat" di semua dokumen untuk menghasilkan urutan yang Anda inginkan (misalnya, dengan menggunakan nilai sentinel dengan tipe yang diurutkan menurut tipe numerik).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menginisialisasi kumpulan replikasi mongodb tanpa memanggil rs.initiate()?

  2. Menggunakan mongodb map/reduce di php

  3. Aplikasi gagal untuk memulai (port 8080) tidak tersedia

  4. ISODate() MongoDB vs. Stempel Waktu UNIX

  5. tingkatkan mongodb