【问题标题】:Azure Cosmos DB QueryAzure Cosmos DB 查询
【发布时间】:2020-06-24 19:22:25
【问题描述】:

我需要通过用户 ID 进行查询,但我认为该时间段与我的查询有关。我尝试了以下 3 个查询。括号和引号给我一个错误,第一个不产生错误但没有结果。

SELECT * FROM c WHERE c.document.BotAccessors.BotState.Profile.UserId = "5351ec9f-46fb-449a-b6f5-1ea07e683015"
SELECT * FROM c WHERE c.document.[BotAccessors.BotState].Profile.UserId = "5351ec9f-46fb-449a-b6f5-1ea07e683015"
SELECT * FROM c WHERE c.document."BotAccessors.BotState".Profile.UserId = "5351ec9f-46fb-449a-b6f5-1ea07e683015"

{
    "document": {
        "BotAccessors.BotState": {
            "Version": 4,
            "ConversationState": 0,
            "FirstMessageDateTime": "2020-03-04T13:19:20.7657389Z",
            "FirstMessage": null,
            "LastSeenDateTimeTicks": 637189282249482900,           
            "Profile": {
                "UserId": "5351ec9f-46fb-449a-b6f5-1ea07e683015",
            }
        }
    },
    "_etag": "\"0300fbab-0000-0700-0000-5e5fb85e0000\"",
    "_rid": "4zYrANO8oXoBAAAAAAAAAA==",
    "_self": "dbs/4zYrAA==/colls/4zYrANO8oXo=/docs/4zYrANO8oXoBAAAAAAAAAA==/",
    "_attachments": "attachments/",
    "_ts": 1583331422
}

【问题讨论】:

    标签: azure-cosmosdb


    【解决方案1】:

    对于非 a-zA-Z0-9 字符的属性名称,您需要使用带引号的方括号。这是一个例子:

    SELECT * FROM c WHERE c["document"]["BotAccessors.BotState"]["Profile"]["UserId"] = "5351ec9f-46fb-449a-b6f5-1ea07e683015"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 2018-12-17
      • 1970-01-01
      相关资源
      最近更新 更多