【问题标题】:Reverse data from Fauna DB来自 Fauna DB 的反向数据
【发布时间】:2020-04-29 23:32:31
【问题描述】:

我一直在查看 FQL 和 Fauna DB 的 docs 索引。有没有办法颠倒查询返回的数据的顺序?

这是我的代码:

q.Map(
  q.Paginate(q.Match(q.Index("all_pages")), {
    //! Find way to change order
    size: 3
  }),
  ref => q.Get(ref)
)

docs 提到了reverse 标志。

有人知道怎么用吗?

【问题讨论】:

    标签: javascript reactjs facebook-fql next.js faunadb


    【解决方案1】:

    假设您有一个包含带有价格字段的文档的集合,我们称它为 ... ermm ... priceables!

    让我们将价格为 1 和价格为 2 的两个文档添加到集合中。

    [{
      "price": 1
    },
    {
      "price": 2
    }]
    

    Image in UI console of the documents

    创建常规索引

    使用以下 sn-p 在该价格值上创建一个常规范围索引:

    CreateIndex({
      name: "regular-value-index",
      unique: false,
      serialized: true,
      source: Collection("priceables"),
      terms: [],
      values: [
        {
          field: ["data", "price"]
        }
      ]
    })
    

    创建反向索引

    可以有多个值(例如复合索引),并且可以为每个值设置反向字段。 要创建反向索引,请将该特定值的 reverse 设置为 true。

    CreateIndex({
      name: "reverse-value-index",
      unique: false,
      serialized: true,
      source: Collection("priceables"),
      terms: [],
      values: [
        {
          field: ["data", "price"],
          reverse: true
        }
      ]
    })
    

    如果您转到 UI 控制台并打开索引,您会注意到值从高到低排序。 UI console, reverse index

    我认为让您感到困惑的是您还不能在 UI 中设置反向布尔值。但是你可以直接去 Shell 并粘贴 FQL 代码来创建索引:Image of the shell

    【讨论】:

    • @bajran 这个函数在哪里?我把它放在client query 中,我得到了一个错误。
    • @bajran 我收到了Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    • @tithos @brecht-de-rooms 向您展示了如何以相反的顺序返回结果,但现在您在执行查询时遇到了问题,因此您应该单独询问。您的 ERR_HTTP_HEADERS_SENT 表示您的应用正在发出一些输出,然后尝试设置 HTTP 响应标头。这是另一个不同的问题。
    猜你喜欢
    • 2020-08-16
    • 2021-12-09
    • 1970-01-01
    • 2018-01-22
    • 2020-10-21
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 2021-08-14
    相关资源
    最近更新 更多