鉴于CosmosDB中的此文档,我如何检索与order_id = 9234029m
匹配的对象:
{
"order": {
"order_id": "9234029m",
"order_name": "name",
}
}
我尝试在CosmosDB Data Explorer中进行查询,但是不可能像这样简单地查询嵌套的order_id
对象:
SELECT * FROM c WHERE c.order.order_id = "9234029m"
(错误:“语法错误,'order'附近的语法不正确”)
这似乎应该是如此简单,但事实并非如此! (在CosmosDB Data Explorer中,所有查询都必须以SELECT * FROM c
开头,但是REST SQL也是替代方法。)
答案 0 :(得分:1)
很明显,这是由于order
是CosmosDB SQL中的保留关键字,即使如上所述使用也是如此。
答案 1 :(得分:1)
您发现,order
是一个保留关键字,它使查询解析失败。但是,您可以通过略有不同的语法(括号表示法)来克服这些问题,并仍然查询数据:
SELECT *
FROM c
WHERE c["order"].order_id = "9234029m"