Não é assim que $pullAll funciona. Você não pode especificar uma condição de correspondência, você só pode especificar uma matriz de objetos a serem excluídos (que precisam corresponder exatamente).
Felizmente, você pode usar $pull (que aceita uma condição de correspondência):
db.coll.update({
'_id': 1
},{
$pull : {
n.d : {
$lte : new Date(2000, 10, 11)
}
}
})
Observe que $pull também puxa todos elementos que combinam, não apenas um.
Isso é reconhecidamente um pouco confuso .