DocumentDB找到深层关键:价值

时间:2015-05-07 10:43:26

标签: azure-cosmosdb nosql

在MongoDB中我可以在任何深层次密钥上执行查找,例如

collection.find('persons.age': 12)

与文档DB有类似的可能吗?我尝试过类似下面的内容:code":" BadRequest" - 无法解决。

query: "SELECT * FROM root WHERE person.age = 12"

1 个答案:

答案 0 :(得分:1)

您必须从FROM子句引用该集合。

注意:由于您直接向集合发出查询,因此可以使用任意值作为名称。但是,您必须重复使用您在其他子句中选择的任何值,因为它用作投影和谓词的参考点(在SELECT和WHERE子句中)。

如果您的文档架构类似于:

{
    person: {
        age: 39
    }
}

您可以使用以下方式按年龄查询文档:

SELECT *
FROM root
WHERE root.person.age = 39

或者,如果您的文档架构类似于:

{
    age: 39
}

您可以使用以下方式按年龄查询文档:

SELECT *
FROM person
WHERE person.age = 39