5
Belge buMongoDB'de alan nasıl değiştirilir veya güncellenir?
{title:"here", lat:123.4512, lng:36.3423, time:"2011-01-02"}
ben bu
{title:"here", {latlng: {lat:123.4512, lng:36.3423}}, time:"2011-01-02"}
gibi chane Belge yüzden mongodb konsol tarafından bu çalışacağız istediğim.
db.coll.find().forEach(function(u){
u.latlng = {"lat":u.lat, "lng":u.lng};
db.coll.save(u);
db.coll.update(u, {$unset:{"map_x1":1, "map_y1":1}});
})
ama çok yavaş T.T
var ben başka bir çözüm
db.coll.find().forEach(function(u){
db.coll.update(u, {{"latlng" : {"lat":u.lat, "lng":u.lng}}, $unset:{"lat":1, "lng":1}});
})
düşünüyorum ama bunu çalıştıramazsınız. ilk çözüm hala çalışıyor çünkü ....
Bu iş gibi hızlı bir çözüm var mı?
Mongo bu gibi komutları nasıl kullanır? Sanırım bir çeşit tembel değerlendirme yapıyor ve belgeleri tek bir taramada belgeliyor mu? Yoksa belge için tekrar aramak ve sonra güncellemek zorunda mı? İkinci yöntemin, tüm koleksiyonun güncellenmesi için bir 0 (n^2) karmaşıklığa ihtiyacı olacaktır, bu yüzden umarım ne olduğunu değil. Bununla ilgili resmi bir belge var mı? – Savvas