Estoy agregando esta respuesta porque estaba buscando una solución y no la encontré. Es posible que esto no responda exactamente a esta pregunta o puede serlo, pero ayudará a muchos otros como yo.
Ejemplo. Si el campo con null
es houseName
y es de tipo string
, la solución puede ser así
db.collectionName.createIndex(
{name: 1, houseName: 1},
{unique: true, partialFilterExpression: {houseName: {$type: "string"}}}
);
Esto ignorará el null
valores en el campo houseName
y seguir siendo único.