Vous pouvez le faire en définissant une expression de filtre partiel pour votre index unique :
db.nodes.createIndex(
{ parent: 1, name: 1 },
{ unique: true,
partialFilterExpression: {
name: {$exists: true}
}
});
L'expression de filtre exclut les documents sans name
à partir de l'index unique.