6
행 레코드 배열의 각 필드에 대해 mongodb 업데이트를 수행하려고합니다.
는 예 스키마는 다음과 같습니다 :
{
"_id" : ObjectId("508710f16dc636ec07000022"),
"summary" : "",
"uid" : "ABCDEF",
"username" : "bigcheese",
"name" : "Name of this document",
"status_id" : 0,
"rows" : [
{
"score" : 12,
"status_id" : 0,
"uid" : 1
},
{
"score" : 51,
"status_id" : 0,
"uid" : 2
}
]
}
이 같은 단일 업데이트를 수행 할 수 있었다 지금까지 : 그러나
db.mycollection.update({"uid":"ABCDEF","rows.uid":1}, {$set:{"rows.$.status_id":1}},false,false)
, 나는 업데이트를 수행하는 방법에 관한 고군분투하는 모든 배열 레코드를 status_id
(예 : 1)로 업데이트합니다.
can't append to array using string field name [$]
나는 운이 꽤 잠시 동안 시도 :
db.mycollection.update({"uid":"ABCDEF"}, {$set:{"rows.$.status_id":1}},false,true)
그러나 다음과 같은 에러가 발생합니다 아래
내가 그것을 작동합니다 상상하는 방법이다. 어떤 포인터?
확인 감사 : 나는 당신이 할 수있는 최선을 동시에 같이 각 요소의
status_id
값을 설정 생각합니다. 나는 배열을 순회 할 것입니다. – HGPB