MongoDB에서 db.collection.save({_id:'abc'}, objectToSave)
을 사용하여 업서 트를 수행 할 수 있습니다. , 저장 기능은 위의 기존 문서를 대체 할MongoDB db.collection.save 기존 개체 덮어 쓰기
{_id:'abc', field3:3};
:
이미 아래와 같은 _id 값을 가진 문서가 한의가 내 컬렉션에서
{_id:'abc', field1:1, field2:2};
아래로 objectToSave을 정의 할 수 컬렉션에
{_id:'abc', field1:1, field2:2};
내가 원하는 것은 $ 집합 연산을 수행하는 것입니다.
{_id:'abc', field1:1, field2:2, field3:3};
저장 기능에서이 작업을 수행 할 수 있습니까? 아니면 별도의 업데이트 문을 써야합니까?
objectToSave의 필드는 동적 임에 유의하십시오. 내가 사용하고있는 언어는 Node.JS입니다.
Markus, 한가지 언급하는 것을 잊어 버렸습니다. objectToSave의 필드 목록이 결정되지 않았습니다. 그래서 나는 특정 필드와 함께 update와 $ set을 사용할 수 없다. Node.JS를 사용하고 있습니다. – Lee
왜 그럴까요? 임의의 수의 필드에 대해 set을 사용할 수 있습니다. 일치하는 객체를 만들고,'$ set'을위한 값으로 넘겨 주면 좋은 결과를 얻을 수 있습니다. –
objectToSave에 _id 필드가 있고 _id 값이 컬렉션에 존재하는 것으로 확인되지 않았습니다. $ set은 _id 필드에 대한 업데이트를 허용하지 않습니다. – Lee