云功能:在内存中对Firestore快照进行排序

发布时间:2020-07-07 17:54

我需要使用node.js进行查询,以根据用户的年龄过滤文档,然后按时间戳排序,但是我在Google云控制台中收到此错误:

不平等过滤条件属性和第一排序顺序必须相同:年龄和时间戳记

这是我的查询:

var requestsRef = db.collection('Requests')
            .where('Age', '<=', maxAge)
            .where('Age', '>=', minAge)
            .orderBy('Timestamp');

是否可以按年龄对查询进行排序,然后按时间戳在云函数中对querySnapshot重新排序?我该怎么办?

回答1

根据docs

如果您包含具有范围比较(<,<=,>,> =)的过滤器,则您的 第一次订购必须在同一字段上

因此您将无法在查询本身中执行此操作。您始终可以获取文档,然后再订购它们,但如果您只想先获得10个,就会比较棘手。