Firebase Firestore按文档ID排序查询返回空集合问题求助
按Firestore文档ID正确排序的解决方法
问题根源:你使用
orderBy('id')时,Firestore会去查询文档内部名为'id'的字段,但你的文档中不存在这个字段,所以返回空集合。Firestore的文档ID属于文档元数据,并非文档内部的常规字段,不能直接通过字段名'id'引用。正确实现代码:需要借助
FieldPath.documentId()来指定按文档ID排序,示例如下:// 先导入对应的FieldPath类 import com.google.firebase.firestore.FieldPath; mQuery = docRef.orderBy(FieldPath.documentId()) .limit(bulk_size) .get();额外说明:如果你的业务场景中确实需要基于文档内部自定义的
id字段排序,那要确保所有目标文档都包含这个字段且有有效值,否则查询同样会返回空结果。但绝大多数按文档ID排序的需求,都是指使用Firestore分配的文档标识,此时必须用FieldPath.documentId()。
内容的提问来源于stack exchange,提问作者yobas yobas
相关产品推荐
相关产品推荐

