首页 > 解决方案 > 来自 Fauna DB 的反向数据

问题描述

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

这是我的代码:

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

文档提到了标志reverse

有谁知道如何使用它?

标签: javascriptreactjsfacebook-fqlnext.jsfaunadb

解决方案


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

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

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

文档 UI 控制台中的图像

创建常规索引

使用以下代码段在该价格值上创建一个常规范围索引:

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 控制台,反向索引

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


推荐阅读