在子集合上使用查询光标进行分页不起作用

时间:2019-11-12 00:24:26

标签: go google-cloud-firestore

在尝试对子集合进行分页时,传递有效文档时遇到以下错误

  

firestore: document snapshot for %s passed to query on %s .

确切错误:

  

firestore:的文档快照   项目/项目名称/数据库/(默认)/文档/父/ 123 /子   传递给项目/项目名称/数据库/(默认)上的查询

我正在运行的确切查询就是这样

query := f.client.CollectionGroup(childCollection).
    Where("RecordedAt", ">=", request.FromDate).
    Where("RecordedAt", "<=", request.ToDate).
    Where("RequestID", "==", requestID)

if request.Paging.LastDocumentID != "" {
    iter := f.client.CollectionGroup(childCollection).
        Where("ID", "==", request.Paging.LastDocumentID).
        Documents(ctx)
    doc, err := iter.Next()
    if err != nil {
        return err
    }
    query = query.StartAfter(doc)
}

query = query.Limit(request.Paging.PageSize).OrderBy("RecordedAt", firestore.Desc)

//Fails here
docs, err := query.Documents(ctx).GetAll()
if err != nil {
    return response, err
}

LastDocumentID为空的情况下,可以很好地获取记录。错误情况是传递文档时,该文档是根据LastDocumentID获取的。当我尝试在父级上进行分页时,一切似乎都很好,但在查询子集合时遇到了一个问题。我已经在google cloud go library中创建了一个问题,但是我认为有些地方我丢失了某些东西,可能不一定是sdk的缺陷。任何帮助深表感谢。

0 个答案:

没有答案