Joe*_*ook 3 node.js firebase google-cloud-firestore
简要背景:我有一个onCreate云函数,在执行一些异步任务后,它会createdAt为最近创建的文档分配一个时间戳。这个函数失败了几次,导致我的一些文档createdAt根本没有这个属性——所以没有null值,而是一个缺失的字段。
现在,当我使用类似以下内容的方式对集合进行分页时
_ref.orderBy('createdAt', 'desc')
.startAfter(cursorSnapshot) // <-- most probably not playing a role here?
.limit(200)
Run Code Online (Sandbox Code Playgroud)
我希望文档在有序集合的(任一)末尾缺少时间戳。相反,我注意到它们被跳过了。
这是期望的行为吗?这个答案声称
无法查询不存在字段的文档。
如果是这样,我如何重新包含跳过的文档?
PS:我已经修复了我的云功能,所以这种情况应该不会再发生了,但我很惊讶这些文档实际上被跳过了。
查询基于一个或多个索引,并且仅返回索引中存在的文档。如果文档没有您排序/筛选的字段,则该文档不会位于该索引中,也不会由查询返回。
唯一的解决方案是确保文档具有该字段的标记/默认值。
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |