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.