Azure cosmosdb DocumentDB查询帮助/参考

Azure cosmosdb DocumentDB查询帮助/参考,azure-cosmosdb,Azure Cosmosdb,编辑: 我看到对这个问题投了反对票,编辑我的问题以增加清晰度和可读性 我来自SQL后台,正在研究文档数据库查询语法。我正在为下面的T-SQL查询寻找文档db等效语法。谢谢你的帮助 选择*from c,其中c.header.TimeStampField>='Time Stamp Constant' 选择*from c,其中Upperc.stringifield=从小写到大写 从c中选择count1-查找所有文档的计数 是否可以通过查询删除文档?就像RDBMS查询从表中删除一样?您的查询1和查询2应

编辑: 我看到对这个问题投了反对票,编辑我的问题以增加清晰度和可读性

我来自SQL后台,正在研究文档数据库查询语法。我正在为下面的T-SQL查询寻找文档db等效语法。谢谢你的帮助

选择*from c,其中c.header.TimeStampField>='Time Stamp Constant'

选择*from c,其中Upperc.stringifield=从小写到大写

从c中选择count1-查找所有文档的计数
是否可以通过查询删除文档?就像RDBMS查询从表中删除一样?

您的查询1和查询2应该完全按照指定的方式工作

查询3不可能。但是,文档的总大小将在x-ms-resource-usage响应标头的DocumentScont属性中返回。这是一个新特性,您正在使用的SDK可能支持,也可能不支持。因此,您可以通过遍历所有行来获得所有文档的计数。是在存储过程中执行此操作的完整示例。或者,您可以从c中选择1,并返回所有1,然后对它们进行计数/求和

无法通过类似SQL的查询删除文档。您可以在存储过程中执行此操作,也可以使用客户端功能删除文档。在这两种情况下,您都需要先查询文档,然后一次删除一个文档

对于DocumentDB,您的查询已经很好了。 您的查询是正确的,应该可以正常工作。但是,另一个优化是在同一个文档中存储一个单独的属性,该属性包含所有大写字母,并显式搜索它。此更改将使用索引而不是扫描。 拉里对3的回答是正确的。
为了进一步挖掘查询语言,您可以使用操场@

和DocumentDB最新的聚合支持2017年2月,您现在可以使用以下内容生成计数:

SELECT VALUE COUNT(1)
FROM mydocuments d
这也适用于过滤器。例如:

SELECT VALUE COUNT(1)
FROM mydocuments d
WHERE d.foo = "bar"

还支持min/max/average/sum。

这实际上是一组问题。我会试着回答下面的问题,但你应该考虑打破它。