如何将查询的数据转换为数组 FaunaDB 打字稿?

How to transform queried data to an array FaunaDB typescript?

我可以在控制台中显示我的分页查询(FaunaDB、FQL)的结果,它显示为一个 javascript 对象。然而,我无法访问所述对象的属性,更不能使用扩展运算符将其转换为数组。我该怎么做?

我知道有一个分页助手,但无法使其工作,如上所述。这是我正在尝试的最新代码:

var array=[]
qu(q.Map(
    q.Paginate(q.Match(q.Index('FeesByIndex'))),
    q.Lambda(x => q.Get(x))
   )).then(res => { console.log(res); array=[...res] })//the log really looks like a js object and res is said to be one
  

它说类型对象不是数组类型。此外,据说 属性 数据不存在于 res 上,尽管它在控制台中显然存在

你会尝试这种方式吗?

var array=[]
  qu(q.Select(['data'],
      q.Map(
          q.Paginate(q.Match(q.Index('FeesByIndex'))),
          q.Lambda(x => q.Get(x))
      )
    )
  ).then(res => { console.log(res); array=[...res] })

您没有指定索引项,Lambda 有语法错误。

响应对象有一个数据属性,是一个列表。

在我的存储库中,如果查询 returns 多个对象:

,我会使用此代码段
    const result: Fee[] = [];

    await CLIENT.query(
      q.Map(
        q.Paginate(
          q.Match(
            q.Index('FeesByIndex'),
            'index term',
          ),
        ),
        q.Lambda('fees', q.Get(q.Var('fees'))),
      )
    )
    .then(faunaResponse => {
      const dataArray = faunaResponse.data;
      dataArray.forEach(s => {
        const data = s.data;
        result.push({
          id: data.id,
          yourProp1: data.yourProp1,
          yourProp2: data.yourProp2,
        });
      });
    })
    .catch(e => logger.error(e));