你好,我的需求是想获取一组资源的某一个属性,比如说 updatedAt,我查了下文档,这个需求似乎应该用 AV.Object.fetchAll 来实现。但是我只需要拿到资源的 updateAt 这一个字段,有没有类似 fetch 里面的 { keys: 'updated' } 这样的 options 参数配置呢?
如果没有,他是会获取全量信息回来吗,这样的话我这个需求还是最好用 fetchAll 来满足吗?
谢谢。

你好,我又想了一下,我的需求其实是想传入一堆资源的 objectId,然后根据这些资源的 updatedAt 值降序排序后返回。似乎也有点像 query 的一个扩展,因为它本来也是支持 query.descending() 这样的排序操作的。只不过我是指定我只需要某一堆特定的 objectId 数组的资源。
我有可能从设置 AV.Query 的角度来解决这个问题吗?
谢谢。

可以根据 objectId 先把这些资源取回来,然后在客户端进行排序。

比如把 objectId[] 通过 AV.Object.createWithoutData map 到 objects[],然后 fetchAll 取回这些对象,之后在客户端根据 updatedAt 排序。

谢谢!

我还想问一下,用 query OR 来从 query 的角度来做会有什么性能问题吗(相比这个 fetchAll 的方案,因为我理解 query OR 最终也是发一次网络请求)?因为我后续的需求可能 objectId 是关联对象的,用 query 更灵活。
就是,我去构造一个 query[] where objectId = objectId,然后把这一堆 query[] 用 OR 连接起来再一次性 query?
这样可以吗?

query OR 连起来也是发一次网络请求。API 收到请求后,用 where objectId = objectId 去查的话理论上会稍微慢一点,不过 objectId 是有索引的,应该不会有什么性能问题。

不明白「objectId 是关联对象的」是什么意思。

其实我实际的需求是这样的:我有一个 item id[],然后需要获取所有的 reousce[],满足 reousce 关联的 item 是 item id[] 中的,而且 resource 的 approved 字段为 false。
所以我打算每一个 itemId + approved: false 做一个 resource query,然后把 query[] 再以 OR 的形式组合起来发一次~

一开始问 itemId fetchAll,是我先打算对 item 按 updatedAt 降序排序先来着,最终需求是上面那个。