【问题标题】:Number as Json key in cosmos db (SQL)数字作为 cosmos db (SQL) 中的 Json 键
【发布时间】:2020-07-23 21:56:45
【问题描述】:

我有一个包含以下 JSON 的文档。

{
  "id": "123",
  "user": {
        "456": true 
          } 
}

当我编写 SQL 时,键 '456' 是非法的。

SELECT * FROM c  where c.user.456 = true

有没有办法将用户号码作为上述查询中的键?此外,如果我有一个带有句点的键,SQL 搜索将不起作用。

【问题讨论】:

  • 括号符号是解决这个问题的方法(见我的回答here)。注意:我不推荐该架构。您没有简单的方法来搜索密钥(例如 456)。您应该考虑将嵌入式用户对象更改为 "user": { "someId" : "456", "someValue": "true" }

标签: azure azure-cosmosdb azure-cosmosdb-sqlapi


【解决方案1】:

请尝试以下方法:

SELECT * FROM c  where c.user['456'] = true

希望这可以帮助你:)。

【讨论】:

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