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

Indeks Senyawa Mongoose Unik + Jarang

Anda sebenarnya cukup dekat dengan solusinya, semua yang Anda butuhkan untuk menggunakan ini saat membuat indeks :

partialFilterExpression: { serialNr: {$exists:true} }

Pastikan untuk memiliki setidaknya versi 3.2 mongo

Contoh :

db.col.createIndex({a:1, b:1},{unique:true, partialFilterExpression: { a: {$exists:true} })
db.col.save({a:50, b:27}) //pass
db.col.save({a:50, b:27}) //fails
db.col.save({b:27}) //pass
db.col.save({b:27}) //pass
db.col.save({b:27}) //pass
db.col.save({a:50, b:27}) //fails
db.col.save({a:50}) //pass
db.col.save({a:50}) //fails

PS :Mungkin Anda bisa melakukan sedikit "hack" dan menggunakan ini :partialFilterExpression: { serialNr: {$exists:true}, serialNr: {$gte:0} }

Saya mencoba menggunakan $ne, tapi itu membuat saya error.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kueri mongodb data pegas untuk bidang subdokumen

  2. Bagaimana cara menonaktifkan logging driver java mongoDB?

  3. Temukan perbedaan antara 2 dokumen di mongoDB dari mongo shell

  4. Bagaimana cara menangkap kesalahan saat memasukkan dokumen MongoDB yang melanggar indeks unik?

  5. MongoDB:BSON ke JSON