【问题标题】:How receive over 1000 documents from ArangoDB collection?如何从 ArangoDB 集合中接收 1000 多个文档?
【发布时间】:2015-02-04 18:22:16
【问题描述】:

我有一个收藏。我的收藏有 30 000 000 份文档。我想通过 AQL 查询来接收它的所有信息。我这样做:

FOR c FROM MyCollection SORT c.value ASC LIMIT 30000000 RETURN c.id

但我不再收到 1001 文件。为什么?

【问题讨论】:

  • 您使用的是哪个驱动程序/API?游标界面使用1000个批量传输给客户端。
  • 我正在使用标准的 Web 界面,它允许执行 AQL 查询。在这种情况下我怎样才能收到所有文件?

标签: arangodb aql


【解决方案1】:

Web 界面中的 AQL 编辑器底部有一个选择框,允许指定要接收的最大文档数。所选值默认为 1000,因此只会获取 1000 个文档。

您可以使用选择框将结果数增加到 5000 个。该值是一个任意限制,但是,它可以保护您免受诸如尝试将 30M 文档获取到浏览器中的操作,这是一个不起作用的操作(您的浏览器可能会耗尽内存或者它会停止运行尝试为 30M 行呈现 HTML 时)。

【讨论】:

  • 这是否意味着如果我不将最大数量设置为超过 1000,那么光标无论如何都不会给我超过 1000?我以为光标会将结果分成多个批次,每个批次限制为 1000 个文档?
  • 游标的批量大小默认为 1000。如果查询产生更多结果,则游标可以使用多个批处理来获取所有结果。这也是我们大多数司机的运作方式。但是,3.1 及之前的 Web 界面似乎使用单个批次获取所有查询结果,并使用用户指定的结果限制作为批次大小。这在 3.2 中有所改变:Web 界面现在将以 1000 个批次获取结果。默认情况下,我们仍在限制 Web 界面中的结果数量,以保护用户的浏览器在获取和显示大量查询结果时不会爆炸。
  • 我建议我的一位同事将结果限制(例如“1000 个结果”或“所有结果”)存储在本地存储中,以便自动记住选择并且不需要调整所有时间。我认为这可以在 3.2beta2 中实现。
  • 顺便说一句,你们的人与社区的交流非常好。这是我们选择 Arangodb 而不是其他人的原因之一。
  • @stj - 我只得到 1000 个文件。我正在使用 github.com/solher/arangolite。如果您能提供帮助,那就太好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-29
  • 2022-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多