0

我正在尝试使用 mongodb 更新子嵌入文档,但不起作用。

我想要一个chapter.id & quest.id,更新这个文件的百分比(只有这个)

我的架构看起来像:

{
    "_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
                }
            ]
        }
    ]
}

我试过这个:

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 } ] } ]})

如果有人可以帮助我,我用 0 做,这可能是架构问题?

4

1 回答 1

0

现在不知道物体的位置是不可能的。

于 2015-01-12T12:30:43.707 回答