Couchbase UPDATE不更新所有匹配过滤器的文件?

问题描述 投票:0回答:1

我对以下N1QL更新语句有一个非常奇怪的情况:

update  testBucket set A1='TESTVALUE' where TONUMBER(`Respondent.Serial`) = 8

{"results": []}



select А1 from testBucket where TONUMBER(`Respondent.Serial`) = 8

我得到以下内容(注意并非所有内容都更新),具有:

      {
        "A1": "ONE"
      },
      {
        "A1": "TESTVALUE"
      },

      {
        "A1": "TESTVALUE"
      },
      {
        "A1": "TESTVALUE"
      },
      {
        "A1": "TESTVALUE"
      },
      {
        "A1": "TESTVALUE"
      },
      {
        "A1": "TEST2"
      }
java couchbase
1个回答
2
投票

问题可能是你在Respondent.Serial周围使用反引号。

如果您的文档结构是这样的,那就不对了。

{
  "Respondent": {
      "Serial": "8"
  }
}

如果您有一个包含句点的字段名称,则应该只使用反引号,如下所示:

{
  "Respondent.Serial": "8"
}

假设您拥有以前的文档结构,请在没有反引号的情况下尝试查询。

© www.soinside.com 2019 - 2024. All rights reserved.