Актуализация: Ако всичко, което трябва да направите, е да промените структурата на документ, без да променяте стойностите, вижте отговора на gipset за добро решение.
Съгласно коментар (сега недостъпен) на страницата за актуализиране на документацията, не можете да препращате към свойствата на текущия документ от update()
.
Ще трябва да прегледате всички документи и да ги актуализирате по следния начин:
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);
}
)
Такава функция може да се използва и в задача за намаляване на картата или db.eval()
от страна на сървъра работа, в зависимост от вашите нужди.