Couchbase N1QL:对嵌套文档进行更新

Couchbase N1QL:对嵌套文档进行更新,couchbase,document,n1ql,nosql,Couchbase,Document,N1ql,Nosql,当有这样的嵌套文档时: { "blog": "testblog1", "user_id": 41, "comments": [ { "comment": "testcomment1", "user_id": 883 }, { "comment": "testcomment2", "user_id": 790 } ] } 可以使用N1QL执行更新操作以向子文档添加额外字段吗 我想在带有注释test

当有这样的嵌套文档时:

{
"blog": "testblog1",
"user_id": 41,
"comments": [
    {
        "comment": "testcomment1",
        "user_id": 883
    },
    {
        "comment": "testcomment2",
        "user_id": 790
    }
  ]
}
可以使用N1QL执行更新操作以向子文档添加额外字段吗

我想在带有注释testcomment2的子文档中添加字段
“排名”:“top comment”

{
"blog": "testblog1",
"user_id": 41,
"comments": [
    {
        "comment": "testcomment1",
        "user_id": 883
    },
    {
        "comment": "testcomment2",
        "user_id": 790,
        "ranking" : "top comment"
    }
  ]
}
站点说明:以下语句将向Collection Blog上的根文档添加一个字段:

UPDATE Blog SET rank = "top blog" WHERE blog = "testblog1";

是的,您可以在N1QL中执行以下操作:

更新博客
当c.comment=“testcomment2”结束时,在注释中为c设置c.ranking=“top comment”

WHERE blog=“testblog1”

如果它是4.0.x couchbase中的嵌套数组,如何访问此解决方案在使用多个set参数时不适用于我。例如,如果我设置c.ranking=“top comment”,c.comment=“Winner!”,它只会更新一个键。我认为这是因为我需要在每个set语句中设置一个for语句,但这两个语句都需要相同的for语句。。。建议?