【问题标题】:Is it possible to do an call for all the data in FaunaDB?是否可以调用 FaunaDB 中的所有数据?
【发布时间】:2021-12-06 12:46:54
【问题描述】:

我正在制作动物群的演示。我想让客户在对象中,但现在是@refI work with NextJSThis is my object now。如何将我的客户信息直接放入我的对象中?

【问题讨论】:

    标签: database next.js relational faunadb fql.multiquery


    【解决方案1】:

    您的问题标题提出了一个问题,而正文提出了另一个问题。试着一次问一个问题。此外,在询问代码时尝试使用代码块:屏幕截图不可搜索,并为有视力障碍的人提供了可访问性障碍。

    对于标题:

    没有。您可以在一次查询中获取多达 100,000 个文档。当要检索的文档超过 10 万时,需要进行多次查询。

    通常,一个查询将从单个集合中获取文档。如果您有多个集合,则可以对每个集合进行分页,使用尽可能多的查询来获取所有文档。

    另外,数据可以附加到系统架构文档,包括索引、函数、键、令牌、凭据、访问提供程序、集合和数据库。要在一个查询中捕获所有这些,您可以尝试从以下开始:

    Map(
      Paginate(
        Union(
          AccessProviders(),
          Collections(),
          Credentials(),
          Databases(),
          Functions(),
          Indexes(),
          Keys(),
          Tokens()
        )
      ),
      Lambda("ref", Get(Var("ref")))
    )
    

    Union 调用中的每个函数都返回一组各自的文档。 Union 将它们全部组合成一个集合,然后Paginate 用于返回整个结果集的单个页面。就像在您的查询中一样,Map 用于迭代结果页面,Lambda 用于依次调用每个结果条目上的Get

    对于身体:

    您的查询使用Map 在与all_orders 索引匹配的每个文档上运行Get。结果必然是一个数组。因此,您的客户信息 在您的对象中,但由于您似乎有三个订单,因此所有三个都在数组中。

    dbs 变量中捕获结果后,您可以(在您的客户端代码中)在dbs.data 中的数组上运行forEachmap。从输出中可以看出,每个文档都包含自己的 data 字段。因此,要访问第一个订单的用户定义字段,它们将位于dbs.data[0].data

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 2021-10-02
      • 2016-02-22
      • 2021-02-08
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      相关资源
      最近更新 更多