DocumentDB 查询 help/reference
DocumentDB Queries help/reference
编辑:
我看到对这个问题投了反对票,编辑我的问题以增加清晰度和可读性。
我来自 SQL 文档数据库查询语法的背景知识。我正在寻找以下 T-SQL 查询的文档数据库等效语法。任何帮助表示赞赏。
Select * 来自 c 其中 c.header.TimeStampField >= 'Time Stamp Constant'
Select * 来自 c 其中 Upper(c.stringifield) = "lowercase to uppercase"
- select count(1) from c --查找所有文档的计数
是否可以通过查询删除文档?像 RDBMS 查询(从 table 中删除?)
您的查询 #1 和 #2 应该完全按照指定的方式工作。
查询 #3 不可能。但是,文档的总大小在 x-ms-resource-usage
响应 header 的 documentsCount
属性 中返回。这是一项新功能,您正在使用的 SDK 可能支持也可能不支持。因此,您可以通过遍历所有行来计算所有文档的数量。 Here 是在存储过程中执行此操作的完整示例。或者,您可以执行 SELECT 1 FROM c
并带回所有 1 和 count/sum。
无法通过 SQL 中的查询删除文档。您可以在存储过程中执行此操作或使用客户端功能删除文档。在这两种情况下,您都需要先查询文档,然后一次删除一个文档。
- 您的查询已经适用于 DocumentDB。
- 您的查询是正确的,应该有效。然而,一个额外的优化是在同一个文档中存储一个单独的 属性 ,它包含所有大写字母并明确搜索它。此更改将使用索引而不是进行扫描。
- Larry 对 #3 的回答是解决问题的正确方法。
要进一步了解查询语言,您可以使用 playground @ https://www.documentdb.com/sql/demo
借助 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。
编辑: 我看到对这个问题投了反对票,编辑我的问题以增加清晰度和可读性。
我来自 SQL 文档数据库查询语法的背景知识。我正在寻找以下 T-SQL 查询的文档数据库等效语法。任何帮助表示赞赏。
Select * 来自 c 其中 c.header.TimeStampField >= 'Time Stamp Constant'
Select * 来自 c 其中 Upper(c.stringifield) = "lowercase to uppercase"
- select count(1) from c --查找所有文档的计数
是否可以通过查询删除文档?像 RDBMS 查询(从 table 中删除?)
您的查询 #1 和 #2 应该完全按照指定的方式工作。
查询 #3 不可能。但是,文档的总大小在 x-ms-resource-usage
响应 header 的 documentsCount
属性 中返回。这是一项新功能,您正在使用的 SDK 可能支持也可能不支持。因此,您可以通过遍历所有行来计算所有文档的数量。 Here 是在存储过程中执行此操作的完整示例。或者,您可以执行 SELECT 1 FROM c
并带回所有 1 和 count/sum。
无法通过 SQL 中的查询删除文档。您可以在存储过程中执行此操作或使用客户端功能删除文档。在这两种情况下,您都需要先查询文档,然后一次删除一个文档。
- 您的查询已经适用于 DocumentDB。
- 您的查询是正确的,应该有效。然而,一个额外的优化是在同一个文档中存储一个单独的 属性 ,它包含所有大写字母并明确搜索它。此更改将使用索引而不是进行扫描。
- Larry 对 #3 的回答是解决问题的正确方法。
要进一步了解查询语言,您可以使用 playground @ https://www.documentdb.com/sql/demo
借助 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。