我想获取een documentdb集合中的最后一个文档。但我有两个问题。
第一个问题是当我在循环中创建文档时,它不会以相同的顺序创建文档,因此数据库中的最后一个文档不是数组中的最后一个元素。我用slice()
函数修复了它。我取出数组的最后一个元素,并使用setTimeout()
函数创建一个文档。它有效,但还有更好的方法吗?
第二个问题正在数据库中查询。我不想查询数据库中的所有文档。因此,我想使用LAST()
SQL函数,但它会出现错误' LAST'不是公认的内置函数名称。。我可以很好地使用这个陈述。
SELECT TOP 1 CustomerName FROM Customers
ORDER BY CustomerID DESC;
但查询所有文档有用吗?我的意思是,如果有10,000个文件或更多是一个好方法?或者有没有办法在不查询所有文档的情况下获取最后一个文档?
答案 0 :(得分:1)
首先: last 文档的确没有概念。如果您在查询中添加了ORDER BY
,那么您可以在第二个示例中发布TOP N
。如果没有排序顺序,那么就没有" last" (或者甚至"首先"对于这个问题 - TOP 1
对于无序查询理论上可以返回任何文档 - 您只需略去第一个结果集)。
至于查询所有文件:您不查询所有文件。因为默认情况下,所有属性都已编制索引,因此您只需根据CustomerID
属性排序顺序获取第一个文档。数据库引擎没有理由对此类查询进行集合扫描。