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

Bagaimana cara MongoDB memesan dokumen mereka dalam satu koleksi?

Ini disebut tatanan alam :

natural order

Urutan di mana database merujuk ke dokumen pada disk. Ini adalah urutan pengurutan default. Lihat $natural dan Return in Natural Order .

Ini menegaskan bahwa secara umum Anda mendapatkannya dalam urutan yang sama dengan yang Anda masukkan, tetapi itu tidak dijamin–seperti yang Anda perhatikan.

Kembali dalam Ketertiban Alami

$natural parameter mengembalikan item sesuai dengan urutan alami mereka dalam database. Urutan ini adalah fitur implementasi internal, dan Anda tidak boleh bergantung pada struktur tertentu di dalamnya.

Penggunaan Indeks

Kueri yang menyertakan pengurutan berdasarkan $natural pesan jangan jangan gunakan indeks untuk memenuhi predikat kueri dengan pengecualian berikut:Jika predikat kueri adalah kondisi kesetaraan pada _id bidang { _id: <value> } , lalu query dengan mengurutkan berdasarkan $natural pemesanan bisa menggunakan _id indeks.

MMAPv1

Biasanya, urutan alami mencerminkan urutan penyisipan dengan pengecualian berikut untuk mesin penyimpanan MMAPv1. Untuk mesin penyimpanan MMAPv1, urutan alami tidak mencerminkan urutan penyisipan jika dokumen dipindahkan karena pertumbuhan dokumen atau penghapusan operasi mengosongkan ruang yang kemudian diambil oleh dokumen yang baru dimasukkan.

Jelas, seperti dokumen yang disebutkan, Anda seharusnya tidak mengandalkan urutan default ini (Pengurutan ini adalah fitur implementasi internal, dan Anda tidak boleh mengandalkan struktur tertentu di dalamnya. ).

Jika Anda perlu mengurutkan, gunakan solusi pengurutan.

Pada dasarnya, dua panggilan berikut harus mengembalikan dokumen dalam urutan yang sama (karena urutan default adalah $natural ):

db.mycollection.find().sort({ "$natural": 1 })
db.mycollection.find()

Jika Anda ingin mengurutkan berdasarkan bidang lain (mis. name ) Anda dapat melakukannya:

db.mycollection.find().sort({ "name": 1 })


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mendapatkan array dari koleksi mongoDB?

  2. Jadwalkan pekerjaan Node.js setiap lima menit

  3. 3 Langkah Sederhana untuk Membuat Cluster Sharded MongoDB

  4. Beberapa populasi - luwak

  5. Opsi pencarian teks lengkap untuk pengaturan MongoDB