Dodaję tę odpowiedź, ponieważ szukałem rozwiązania i nie znalazłem. To może nie odpowiadać dokładnie na to pytanie lub może być, ale pomoże wielu innym, takim jak ja.
Przykład. Jeśli pole z null to houseName i jest typu string , rozwiązanie może wyglądać tak
db.collectionName.createIndex(
{name: 1, houseName: 1},
{unique: true, partialFilterExpression: {houseName: {$type: "string"}}}
);
To zignoruje null wartości w polu houseName i nadal być wyjątkowym.