No es así como funciona $pullAll. No puede especificar una condición coincidente, solo puede especificar una matriz de objetos para eliminar (que deben coincidir exactamente).
Afortunadamente, puedes usar $pull en su lugar (que acepta una condición coincidente):
db.coll.update({
'_id': 1
},{
$pull : {
n.d : {
$lte : new Date(2000, 10, 11)
}
}
})
Tenga en cuenta que $pull también extrae todos elementos que coinciden, no solo uno.
Esto es ciertamente un poco confuso .