Eftersom du inte kan ändra _id är ett bättre tillvägagångssätt att helt enkelt ta bort det fältet från din karta objekt istället för att konvertera det till ett ObjectId.
Så detta:
delete map._id;
istället för detta:
map._id = new ObjectID.createFromHexString( map._id);
Om du vill returnera det uppdaterade objektet som du försöker med res.send(map); , bör du använda findAndModify
istället för uppdatering så att du har tillgång till det resulterande dokumentet och inte bara det som postades.