Uppdatering: Om allt du behöver göra är att ändra strukturen på ett dokument utan att ändra värdena, se gipsets svar för en bra lösning.
Enligt en (nu otillgänglig) kommentar på sidan Uppdatera dokumentation kan du inte referera till det aktuella dokumentets egenskaper från en update()
.
Du måste gå igenom alla dokument och uppdatera dem så här:
db.events.find().snapshot().forEach(
function (e) {
// update document, using its own properties
e.coords = { lat: e.lat, lon: e.lon };
// remove old properties
delete e.lat;
delete e.lon;
// save the updated document
db.events.save(e);
}
)
En sådan funktion kan också användas i ett kartreducerande jobb eller en db.eval()
på serversidan jobb, beroende på dina behov.