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.