Selon les documents de Mongoose :
Selon réponse SO précédente
Modèle.findByIdAndUpdate()
"Trouve un document correspondant, le met à jour en fonction de l'argument de mise à jour, en passant toutes les options, et renvoie le document trouvé (le cas échéant) au rappel."
Dans les options, définissez upsert sur true :
upsert:bool - crée l'objet s'il n'existe pas. par défaut à faux.
Model.findByIdAndUpdate(id, { $set: { name: 'SOME_VALUE' }}, { upsert: true }, callback)