Podle dokumentů Mongoose :
Podle předchozí odpovědi SO
Model.findByIdAndUpdate()
"Najde odpovídající dokument, aktualizuje jej podle argumentu aktualizace, předá jakékoli možnosti a vrátí nalezený dokument (pokud existuje) zpětnému volání."
V možnostech nastavte upsert na true:
upsert:bool - vytvoří objekt, pokud neexistuje. výchozí hodnota je false.
Model.findByIdAndUpdate(id, { $set: { name: 'SOME_VALUE' }}, { upsert: true }, callback)