Fra MongoDB v1.8+ kan du få den ønskede adfærd med at sikre unikke værdier, men tillade flere dokumenter uden feltet ved at indstille sparse
indstilling til sand, når du definerer indekset. Som i:
email : {type: String, trim: true, index: true, unique: true, sparse: true}
Eller i skallen:
db.users.ensureIndex({email: 1}, {unique: true, sparse: true});
Bemærk, at et unikt, sparsomt indeks stadig ikke tillader flere dokumenter med en email
felt med en værdi af null
, kun flere dokumenter uden en email
felt.
Se http://docs.mongodb.org/manual/core/index-sparse/