【问题标题】:DocumentDB querying child elements in a documentDocumentDB 查询文档中的子元素
【发布时间】:2017-11-26 02:27:21
【问题描述】:

在下面的 DocumentDB 文档中,在 DevicePin 上查询的正确方法是什么?即 WHERE DevicePin = '1234' 我正在使用 Node.js 并且基本查询正常工作,我可以查询诸如电子邮件和姓名之类的内容,只是无法正确获取 DevicePin 的语法

{
    "id": "2ca572d0-858d-4376-8537-c228a8379638",
    "Email": "dave@test.com",
    "Name": "dave",
    "OrgRoles": null,
    "DeviceIDs": [
        {
            "DeviceID": "12121212",
            "DevicePin": "1234"
        }
    ],
    "UpdatedDate": "2017-11-10T13:18:32.0110724Z",
    "CreatedDate": "2017-11-10T13:18:27.220764Z",
    "IsDeleted": true,
    "_rid": "kIddAMqgTQBFAAAAAAAAAA==",
    "_self": "dbs/kIddAA==/colls/kIddAMqgTQA=/docs/kIddAMqgTQBFAAAAAAAAAA==/",
    "_etag": "\"02007530-0000-0000-0000-5a0d685b0000\"",
    "_attachments": "attachments/",
    "_ts": 1510828123
}

【问题讨论】:

    标签: azure azure-cosmosdb


    【解决方案1】:

    如果你不知道数组元素编号,那么你可以使用

     SELECT * FROM c WHERE 
        array_contains(c.DeviceIDs, {"DevicePin": "1234"})
    

    【讨论】:

      【解决方案2】:

      知道了,以防其他人想要这样做:

      SELECT * 
      FROM c.DeviceIDs[0] d 
      WHERE (d.DevicePin = "1234")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-04
        • 1970-01-01
        • 1970-01-01
        • 2015-03-31
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多