MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose mit eindeutigem booleschen Wert von true

Sie können dies tun, indem Sie MongoDBs Unterstützung für partial indexes verwenden das wurde in 3.2 hinzugefügt.

var mySchema = new Schema({ oneTrue: Boolean });
mySchema.index({oneTrue: 1}, {unique: true, partialFilterExpression: {oneTrue: true}});

Dadurch wird der eindeutige Index auf oneTrue erstellt Feld nur dort, wo sein Wert true ist . Auf diese Weise mehrere Dokumente mit einem false -Wert sind erlaubt, aber nur einer, bei dem es true ist .