5
문서는이MongoDB에서 필드를 변경하거나 빠르게 업데이트하는 방법은 무엇입니까?
{title:"here", lat:123.4512, lng:36.3423, time:"2011-01-02"}
내가이
{title:"here", {latlng: {lat:123.4512, lng:36.3423}}, time:"2011-01-02"}
같은 chane 문서 그래서 내가 MongoDB를 콘솔에서이 작업을 시도 할 것이다하고자합니다.
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}});
})
하지만 매우 느리게 T.T
의 내가 다른 솔루션을
db.coll.find().forEach(function(u){
db.coll.update(u, {{"latlng" : {"lat":u.lat, "lng":u.lng}}, $unset:{"lat":1, "lng":1}});
})
생각하지만 난 그것을 실행할 수 없습니다. 첫 번째 솔루션이 아직 실행 중이므로 ...
이 직업과 같은 빠른 해결책이 있습니까?
몽고는 어떻게 그러한 명령을 처리합니까? 나는 일종의 게으른 평가를하고 컬렉션의 한 스캔으로 문서를 업데이트한다고 생각하니? 또는 문서를 다시 검색 한 다음 업데이트해야합니까? 두 번째 방법은 전체 컬렉션을 업데이트하기 위해 0 (n^2)의 복잡성이 필요하므로 어떤 일이 발생하지 않기를 바랍니다. 그러나 이에 관한 공식 문서가 있습니까? – Savvas