은의 다음 문서를 가정 해 봅시다 :MongoDB를가 : 문서 전체를 교체 할 때 값을 증가하는 방법
{
"_id" : ObjectId("53b986e2fe000000019a5a13"),
"name" : "Joe",
"birthDate" : "2080-12-11",
"publications" : [
{ "title" : "title 1", "description" : "description 1" },
{ "title" : "title 2", "description" : "description 2" }
],
"version" : 1
}
이 같은 문서 전체를 교체해야 ...
db.test.update({"_id": ObjectId("53b986e2fe000000019a5a13")}, {
"_id" : ObjectId("53b986e2fe000000019a5a13"),
"name" : "Joe",
"birthDate" : "1980-12-11",
"publications" : [
{ "title" : "bye bye", "description" : "Blah blah" },
{ "title" : "title 2", "description" : "description 2" },
{ "title" : "title 3", "description" : "description 3" }
]
})
을 ... 문서 version
도 하나씩 증가시켜야합니다. 이 경우 $inc
이 허용되지 않으므로 다른 대안이 있습니까?
...하지만 $ set을 사용하면 "10150 필드 이름 중복이 수정 자와 함께 허용되지 않습니다."... – j3d
@ j3d 위의 예제는 쉘에서 실행할 때 작동합니다. 너 뭔가 다른 걸 시도 했니? – JohnnyHK
예 ... 작동합니다. 문제는 선택기와 업데이트 개체가 모두 동일한 필드 (내 경우에는 _version)를 포함한다는 것입니다. 귀하의 성원에 진심으로 감사드립니다. – j3d