Vous devez utiliser $sort
avec $each
opérateur et puis vous venez de spécifier le nom du champ imbriqué (pas le chemin complet comme dans votre exemple), essayez :
User.findOneAndUpdate({ _id: user._id }, {
$push: {
"notification.notidata": {
"$each": [ { data: { para: "Your Ad " + "'" + thisad.heading + "'" + " has been successfully submitted." } } ],
"$sort": {"notidate": -1}
}
}
}, {new: true})