更新couchbase 4.1中对象数组中的特定对象

更新couchbase 4.1中对象数组中的特定对象,couchbase,n1ql,Couchbase,N1ql,我有以下单据,单据钥匙车::16 { "_type": "NSCart", "_metadata": { "created_at": 1473075845614, "updated_at": null }, "_id": "f28bc609-6aba-47e5-8e83-5bee2397566f", "userId": "B1HvmsLj57c9235c"

我有以下单据,单据钥匙车::16

 {
        "_type": "NSCart",
        "_metadata": {
               "created_at": 1473075845614,
               "updated_at": null
        },
        "_id": "f28bc609-6aba-47e5-8e83-5bee2397566f",
        "userId": "B1HvmsLj57c9235c",
        "items" : [{
               "itemId": "N1d55j8m4xr",
               "seller": "ByD9T4Ks57cbbd8e",
               "license": null,
               "basePrice": 0
             },{
              "itemId": "L9nd6Dswl4v",
              "seller": "ByD9T4Ks57cbbd8e",
              "license": E122,
              "basePrice": 500,
              "eCharge": 10,
              "total": 510
        }]
 }
现在我想更新一个项目id为N1d55j8m4xr的文档,如下所示

{
      "itemId": "N1d55j8m4xr",
      "seller": "ByD9T4Ks57cbbd8e",
      "license": null,
      "basePrice": 590,
      "eCharge": 18,
      "total": 608
}

n1ql中存在方法数组_replace,但未获得所需的输出

使用N1QL文档中的以下语法

UPDATE mybucket SET x.field = newvalue FOR x IN myarray WHEN x.id = myid END;

使用N1QL文档中的以下语法

UPDATE mybucket SET x.field = newvalue FOR x IN myarray WHEN x.id = myid END;

大家好,欢迎来到Stack Overflow!请坐飞机。感谢您提供答案,但您是否可以添加一个关于代码如何解决问题的解释?您好,欢迎使用Stack Overflow!请坐飞机。感谢您提供了答案,但是您是否也可以添加关于代码如何解决问题的解释?