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

Tidak peka huruf besar indeks unik Mongo

Sebelum MongoDB versi 3.4 kami tidak dapat membuat indeks dengan tidak peka huruf besar/kecil .

Dalam versi 3.4 memiliki collation opsi yang memungkinkan pengguna untuk menentukan aturan khusus bahasa untuk perbandingan string , seperti aturan untuk huruf besar dan tanda aksen.

Opsi collation memiliki sintaks berikut:

collation: {
   locale: <string>,
   caseLevel: <boolean>,
   caseFirst: <string>,
   strength: <int>,
   numericOrdering: <boolean>,
   alternate: <string>,
   maxVariable: <string>,
   backwards: <boolean>
}

di mana lokal bidang wajib; semua bidang lainnya opsional .

Untuk membuat indeks dengan tidak peka huruf besar/kecil, kita perlu menggunakan bidang wajib lokal dan kekuatan bidang untuk tingkat perbandingan string. strength memungkinkan nilai mengamuk 1 - 5 . baca lebih lanjut tentang collation

Atribut kekuatan menentukan apakah aksen atau huruf besar/kecil diperhitungkan saat menyusun atau mencocokkan teks

Contoh:

jika kekuatan=1 lalu peran =Peran =peran

jika kekuatan=2 lalu peran =Peran

jika kekuatan=3 lalu peran

Dokumen tingkat perbandingan

Jadi kita perlu menggunakan strength=2 untuk membuat indeks. seperti:

db.collectionName.createIndex(
  { name: 1, formula: 1, type: 1 },
  { 
    name: "fertilizer_idx",
    collation: {locale: "en", strength: 2},
    unique: true
  }
)

N.B :collation opsi tidak tersedia untuk teks indeks.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Operator Kueri $type MongoDB

  2. Hubungan MongoDB:embed atau referensi?

  3. Pembaruan MongoDBSatu()

  4. Bagaimana cara menghapus duplikat berdasarkan kunci di Mongodb?

  5. Memahami Opsi Batas Waktu Klien MongoDB