Od MongoDB v1.8+ můžete získat požadované chování, které zajistí jedinečné hodnoty, ale umožní více dokumentů bez pole nastavením sparse
možnost na hodnotu true při definování indexu. Jako v:
email : {type: String, trim: true, index: true, unique: true, sparse: true}
Nebo v shellu:
db.users.ensureIndex({email: 1}, {unique: true, sparse: true});
Všimněte si, že jedinečný, řídký index stále neumožňuje více dokumentů s email
pole s hodnotou z null
, pouze několik dokumentů bez email
pole.
Viz http://docs.mongodb.org/manual/core/index-sparse/