【问题标题】:Upsert into sub document in couchbase using N1QL使用 N1QL 在沙发库中插入子文档
【发布时间】:2020-03-13 10:39:44
【问题描述】:

我在 couchbase 中有如下文件。

{
  "templateType": "EMAIL",
  "displayName": "Email for user",
  "structure": {
    "{twitterLink}": "http://www.twitter.com/",
    "{facebookLink}": "http://www.facebook.com",
    "{instagramLink}": "http://instagram.com",
     "{websiteLink}": "http://mavenir.com"
   },
  "backendPlaceholders": [
    "{ACTIVATION_URL}",
    "{USERNAME}"
  ]
}

我想在“结构”中插入一个新条目“linkedIn”,以便我的文档如下所示,

{
  "templateType": "EMAIL",
  "displayName": "Email for user",
  "structure": {
    "{twitterLink}": "http://www.twitter.com/",
    "{facebookLink}": "http://www.facebook.com",
    "{instagramLink}": "http://instagram.com",
    "{linkedIn}": "http://www.linkedin.com",
    "{websiteLink}": "http://mavenir.com",
    "{linkedIn}": "http://www.linkedin.com"
  },
  "backendPlaceholders": [
    "{ACTIVATION_URL}",
    "{USERNAME}"
  ]
}

我可以知道如何在 N1QL 中做到这一点吗?该结构不是一个数组,它是一个子文档。我不知道如何在 N1QL 中做到这一点。

【问题讨论】:

  • 我知道您的问题是关于 N1QL,但如果您一次只打算对一个文档执行此操作,那么您使用的任何 SDK 的子文档 API 可能会更快。只是提示,如果你愿意,可以忽略我:)

标签: couchbase n1ql


【解决方案1】:

使用 UPDATE 语句

UPDATE default AS d
SET d.`structure`.`{linkedIn}` = "http://www.linkedin.com"
WHERE ....

【讨论】:

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