0
으로 복잡한 스키마 업데이트 mongodb로 서브 임베드 문서를 업데이트하려하지만 작동하지 않습니다. 나는이 시도서브 임베드 문서
{
"_id" : ObjectId("54ae5e63e71cef26050fca9a"),
"name" : "test",
"chapters" : [
{
"id" : 1,
"quests" : [
{
"id" : 1,
"name" : "quest1",
"percent" : 0
},
{
"id" : 2,
"name" : "quest2",
"percent" : 0
}
]
},
{
"id" : 2,
"quests" : [
{
"id" : 3,
"name" : "quest3",
"percent" : 0
},
{
"id" : 4,
"name" : "quest4",
"percent" : 0
}
]
}
]
}
: 나는 chapter.id & 원하는
처럼
내 스키마가 보인다 (오직이 하나)이 문서의 비율을 업데이트, 주어진 quest.id
db.test.update({name:"test" , "chapters.quests.id":1 , "chapters.id":1} , {$set:{ "chapters.quests.$.percent":1} })
이 오류가
cannot use the part (chapters of chapters.quests.0.percent) to traverse the element ({chapters: [ { id: 1.0, quests: [ { id: 1.0, name: "quest1", percent: 0.0 }, { id: 2.0, name: "quest2", percent: 0.0 } ] }, { id: 2.0, quests: [ { id: 3.0, name: "quest3", percent: 0.0 }, { id: 4.0, name: "quest4", percent: 0.0 } ] } ]})
만약 내가 누군가와 나를 도울 수 있다면 도와 주겠습니까? 아마 스키마 문제일까요? 객체의 위치를 알 수없이
그럴 수 없습니다. [위치'$'] (http://docs.mongodb.org/manual/reference/operator/update/positional/) 운영자 설명서를주의 깊게 읽으십시오. "첫 번째"의미의 "outer"배열 요소 만 일치합니다. 중첩 된 배열에서는 작동하지 않습니다. –