Musisz użyć $sort
z $each
operatora, a następnie po prostu podaj nazwę pola zagnieżdżonego (a nie całą ścieżkę, jak w twoim przykładzie), spróbuj:
User.findOneAndUpdate({ _id: user._id }, {
$push: {
"notification.notidata": {
"$each": [ { data: { para: "Your Ad " + "'" + thisad.heading + "'" + " has been successfully submitted." } } ],
"$sort": {"notidate": -1}
}
}
}, {new: true})