有没有人知道如何在名称中带有连字符的CosmosDB Collection上使用SQL查询?例如
SELECT * FROM product-group where product-group.id = "3829503"
我已经看到可以使用[""]语法访问属性,但却看不到实际集合名称的任何解决方案。
答案 0 :(得分:2)
通过DocumentDB SQL查询时,不需要指定确切的集合名称;你真的在查询中指定别名。
在查询资源管理器中(通过门户网站),首先选择一个集合来完成所有查询。此时,使用简单的别名进行查询。例如,以下是对名为sample-data
的集合的查询(在“集合”下拉列表中选择),但我不需要在查询中指定实际的集合名称。我只是使用mycollection
作为sample-data
的别名:
在代码中,SDK调用包括数据库参数和集合参数,同样无需在查询中使用实际的集合名称。例如,从c#调用的相同查询可能如下所示:
client.CreateDocumentQuery<MyObject>(
UriFactory.CreateDocumentCollectionUri("mydb", "sample-data"),
"SELECT * FROM mycollection WHERE mycollection.id = '3829503'");