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

MongoDB C# Array index atau mengindeks item dalam array

Anda tidak dapat melakukan ini secara khusus, Anda tidak dapat mengindeks nilai kunci.

Satu Solusi

Namun, Anda dapat mengindeks item dalam array.

Mari kita asumsikan bahwa data Anda terlihat seperti ini:

items:
  [
       { Key: "Name", Value: "Peter", Type:String },
       { Key: "Age", Value: "18", Type:int },
       { Key: "City", Value: "San Jose", Type:String },
       ...30 to 40 items.
  ]

Anda akan melakukan hal berikut untuk membuat indeks pada items.Key :

 db.foo.ensureIndex( { 'items.Key' } )

Ketika Anda melakukan hal berikut, Anda akan menggunakan indeks:

 db.foo.find( { 'items.Key' : "City", 'items.value' : "San Jose" } )

Ini akan mempersempit pencarian hanya untuk item yang memiliki Key = "City" . Jika ini segalanya, maka ini mungkin tidak akan membantu.

Solusi alternatif

Mengapa items sebuah array? Bisakah Anda tidak menyusun data seperti ini:

items:
  {
       "Name" : { Value: "Peter", Type:String },
       "Age" : { Value: "18", Type:int },
       "City" : { Value: "San Jose", Type:String },
       ...30 to 40 items.
  }

Sekarang Anda dapat mengindeks di items.City.Value , itulah yang Anda cari sejak awal. Ini juga membuat struktur data sedikit lebih kecil.

Bergantung pada sifat data Anda, Anda mungkin juga ingin melihat indeks jarang untuk membantu mengontrol ukuran indeks Anda.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Normalisasi MongoDB, kunci asing dan bergabung

  2. Panduan Pengembang untuk MongoDB Sharding

  3. Permintaan Impor Solr Mongo/DocDB Delta tidak berfungsi

  4. Parse server - File tidak ditemukan

  5. Pengindeksan Geospasial Tidak ditemukan pemetaan untuk bidang dengan YAML