sql >> Base de Datos >  >> NoSQL >> MongoDB

mongoDB/mongoose:único si no es nulo

A partir de MongoDB v1.8+, puede obtener el comportamiento deseado de garantizar valores únicos pero permitir múltiples documentos sin el campo configurando sparse opción a verdadero al definir el índice. Como en:

email : {type: String, trim: true, index: true, unique: true, sparse: true}

O en la concha:

db.users.ensureIndex({email: 1}, {unique: true, sparse: true});

Tenga en cuenta que un índice único y disperso aún no permite múltiples documentos con un email campo con un valor de null , solo varios documentos sin un email campo.

Ver http://docs.mongodb.org/manual/core/index-sparse/