Opdatering: Hvis alt du skal gøre er at ændre strukturen af et dokument uden at ændre værdierne, se gipsets svar for en god løsning.
Ifølge en (nu utilgængelig) kommentar på siden Opdater dokumentation, kan du ikke referere til det aktuelle dokuments egenskaber fra en update()
.
Du bliver nødt til at gentage alle dokumenterne og opdatere dem på denne måde:
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 også bruges i et kort-reducerende job eller en server-side db.eval()
job, afhængigt af dine behov.