Ponieważ nie możesz modyfikować _id
pole, lepszym podejściem jest po prostu usunięcie tego pola z mapy
obiekt zamiast konwertować go na ObjectId.
Więc to:
delete map._id;
zamiast tego:
map._id = new ObjectID.createFromHexString( map._id);
Jeśli chcesz zwrócić zaktualizowany obiekt, tak jak próbujesz, za pomocą res.send(map);
, powinieneś używać findAndModify
zamiast aktualizacji
dzięki czemu masz dostęp do powstałego dokumentu, a nie tylko tego, co zostało opublikowane.