2013-07-17 2 views
0

Mongo에서 속성을 변경하는 동안 레코드를 복사하는 가장 좋은 방법은 무엇입니까?MongoDB 매개 변수를 변경하는 동안 객체 복사

예를 들어 사용자 개체가 있고 일부 속성을 변경하는 동안 복사하려고합니다. 그래서 (논리적) : 물론

db.users.find({_id:"Fred"}).forEach(function(r) { db.users.insert(r.copy("_id"="Barney","age":25)) }); 

에는 "복사"기능이 없다,하지만 그건 내가 무엇을 찾고있다 : 일부 속성 (물론 키 _id)를 변경하면서, 문서를 복사하는 방법 .

+0

프로그래밍 언어/프레임 워크에 따라 다르지만, 일반적으로 새로운'_id'를 사용하여 문서를 다시 저장하십시오 (또는이를 지우고 DB가 처리하게하십시오). – WiredPrairie

답변

0

이 그냥 잘 작동합니다 예를 들어, 아무것도 복사하지 않아도 :

db.users. 
    find({ _id: "Fred" }). 
    forEach(function (r) { 
     r._id = "Barney"; 
     r.age = 25; 
     db.so.insert(r); 
    }); 

는하지만 이런 식으로하고 싶지 왜 나는 아주 이해가 안 돼요. 새 "Barney"문서에 대한 모든 원래 필드가있는 새 문서를 다시 삽입하는 것이 훨씬 더 합리적입니다.

관련 문제