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

Efek generasi mongodb _id pada Pengindeksan

Solusi yang jauh lebih baik adalah meninggalkan _id kolom apa adanya dan memiliki userId separate yang terpisah dan folderId bidang di dokumen Anda, atau buat bidang terpisah dengan menggabungkan keduanya.

Adapun apakah itu akan "secepat" ... tergantung pada permintaan Anda, tetapi untuk memesan berdasarkan tanggal "buat" dokumen misalnya Anda akan kehilangan kemampuan untuk hanya memesan dengan _id Anda juga akan kehilangan manfaat untuk sharding dan distribusi .

Namun jika Anda ingin menggunakan kedua ID tersebut untuk _id . Anda ada satu pilihan lain ...

Anda benar-benar dapat menggunakan keduanya tapi biarkan terpisah ... misalnya ini adalah _id yang valid :

> var doc = { "_id" : { "userID" : 12345, "folderID" : 5152 }, 
              "field1" : "test", "field2" : "foo" };
> db.crazy.save(doc);
> db.crazy.findOne();
{
        "_id" : {
                "userID" : 12345,
                "folderID" : 5152
        },
        "field1" : "test",
        "field2" : "foo"
}
> 


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kesalahan Mongodb gagal menggunakan indeks teks untuk memenuhi kueri $teks

  2. Pertimbangan Dasar untuk Mengambil Cadangan MongoDB

  3. MongoDB - ukuran file sangat besar dan terus bertambah

  4. Bagaimana menemukan nomor baris dari suatu baris dalam koleksi MongoDB yang diurutkan untuk menghitung persentilnya?

  5. Ubah jenis bidang di Mongoid tanpa kehilangan data