Estou adicionando esta resposta porque estava procurando uma solução e não encontrei. Isso pode não responder exatamente a essa pergunta ou pode ser, mas ajudará muitos outros como eu.
Exemplo. Se o campo com
null
é houseName
e é do tipo string
, a solução pode ser assim db.collectionName.createIndex(
{name: 1, houseName: 1},
{unique: true, partialFilterExpression: {houseName: {$type: "string"}}}
);
Isso irá ignorar o
null
valores no campo houseName
e ainda ser único.