You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Fauna DB排序索引返回文档的技术求助

问题原因及解决方案

你的核心问题是Fauna索引返回的条目结构与Lambda参数不匹配:

1. 索引结构分析

你创建的sort_by_id索引values定义返回的是[data.id, ref]的数组,所以调用Match(q.Index('sort_by_id'))后,每个分页条目都是包含两个元素的数组(比如你给出的[1, Ref(Collection("my_first_collection"), "352434683448919125")]),而非单个ref值。

2. 代码修正

你的Lambda函数错误地将参数当作单个ref处理,实际上需要解构这个数组,取出里面的ref来执行q.Get。修正后的resolver代码如下:

async users() {
  const response = await client.query(
    q.Map(
      q.Paginate(
        q.Match(
          q.Index('sort_by_id')
        )
      ),
      // 解构索引返回的[id值, ref]数组,取第二个元素(ref)来获取完整文档
      q.Lambda([_, ref], q.Get(ref))
    )
  )

  const res = response.data.map(item => item.data);
  return [...res]
}

3. 额外说明

你当前的索引配置本身是合理的——用data.id作为排序字段,同时返回ref用于获取完整文档。如果不需要在索引结果中返回data.id,也可以保持现有配置不变,只需确保查询时正确处理返回的数组结构即可。

内容的提问来源于stack exchange,提问作者edhog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 12:05:42