【问题标题】:N1QL: add new object to existed couchbase documentN1QL:将新对象添加到现有的 couchbase 文档
【发布时间】:2016-05-16 15:52:44
【问题描述】:

是否可以使用 N1QL?

例如我有这个:

{
"blog": "Coffee",
"user_id": 41,
"comments": [
    {
        "comment": "cup",
        "user_id": 883
    },
    {
        "comment": "water",
        "user_id": 790
    }
  ]
}

我想使用 N1QL 向 cmets 添加糖,结果如下: { “博客”:“咖啡”, “用户 ID”:41, “cmets”:[ { “评论”:“杯子”, “用户 ID”:883 }, { “评论”:“水”, “用户 ID”:790 }, { “评论”:“糖”, “用户 ID”:14 } ] }

我试过了:

UPDATE
    Blog
SET
    `c.comment` = "sugar",
    `c.user_id` = 14
FOR
    c IN comments
WHERE 
    `blog` = "Coffee" 
// [{"code":3000,"msg":"syntax error - at WHERE"}

还有这个:

UPDATE 
    Blog
SET
    ("comments", { "comment": "sugar", "user_id": 14})
WHERE
    `blog` = "Coffee"
//[{"code":3000,"msg":"syntax error - at ("}

【问题讨论】:

    标签: json couchbase n1ql database nosql


    【解决方案1】:

    是的,您可以使用 N1QL 进行任何修改。

    UPDATE Blog
    SET comments = ARRAY_APPEND( comments, { "comment":"sugar", "user_id":14 } )
    WHERE blog = "Coffee";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      相关资源
      最近更新 更多