【发布时间】:2022-01-02 18:41:54
【问题描述】:
我会测试这样的请求
let ref = firestore().collection(COLLECTION)
ref = ref.where('date', "in", ['01/01/2022', '02/01/2022'])
ref = ref.where('valueP', '>', 12)
ref = ref.where('valueP', '<', 32
ref = ref.orderBy('valueP')
if (filterType) {
ref = ref.where('product.type', '==', filterType) // filterType is a string variable
}
if (filterCategory) {
ref = ref.where('product.category', '==', filterCategory) // filterCategory is a string variable
}
// pagination
ref = ref.orderBy(firebase.firestore.FieldPath.documentId(), 'asc')
if (paginationStart) {
ref = ref.startAfter(paginationStart) // paginationStart is a documentid
}
ref = ref.limit(10)
ref.get()
第一次,我的请求奏效了。我有 10 个文件。
我将最后一个文档 ID 保存在变量“paginationStart”中。没关系
第二次,我的请求有过滤器“startAfter”,但我的数据和第一次一样。
过滤器“startAfter”有问题吗?
感谢您的帮助。
【问题讨论】:
-
"paginationStart" 是最后一个文档而不是文档 ID
-
@JafarJabr ,这是我的示例的最后一个文档 ID ( 4rGDPbDfU3a2qZvvtGG2 )
-
他们的文档说它必须是整个文档,而不仅仅是 id,firebase.google.com/docs/firestore/query-data/…
-
ahhhh 好的,是的,我进行了测试,它可以工作,但是......我对最后一个文档有疑问,redux 不起作用啊啊 redux-persist/createPersistoid:错误序列化状态 [TypeError: JSON. stringify 无法序列化循环结构。] .... 我必须像文档示例一样保留所有文档?
-
我建议保存服务中的最后一个文档或您之前使用的任何内容发送到 redux
标签: javascript firebase react-native