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).