Aktualizace: Pokud vše, co musíte udělat, je změnit strukturu dokumentu beze změny hodnot, podívejte se na odpověď gipset, kde najdete pěkné řešení.
Podle (nyní nedostupného) komentáře na stránce dokumentace aktualizace nemůžete odkazovat na vlastnosti aktuálního dokumentu z update()
.
Budete muset procházet všechny dokumenty a aktualizovat je takto:
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);
}
)
Takovou funkci lze také použít v úloze map-reduce nebo na straně serveru db.eval()
práci, v závislosti na vašich potřebách.