- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我尝试在按标题排序时使用 startAt([1]) 和 endAt([3]),但它不起作用。
QuerySnapshot snapshot = await Firestore.instance.collection('items')
.orderBy("title", descending: false).startAt([1]).endAt([2]).limit(2).getDocuments();
当我尝试按顺序排列 startAt([1]) 和 endAt([3]) 时,它起作用了。
QuerySnapshot snapshot5 = await Firestore.instance.collection('items')
.orderBy("rank", descending: false).startAt([1]).endAt([2]).limit(2).getDocuments();
当我不使用 endAt() 时工作
为什么我按标题排序时不起作用?
QuerySnapshot snapshot = await Firestore.instance.collection('items')
.orderBy("title", descending: false).startAt([1]).limit(2).getDocuments();
有人知道吗?
我尝试过的:1.确保包是最新的2. 在 firestore 上创建索引
[这不起作用]QuerySnapshot snapshot = await Firestore.instance.collection('items').orderBy("title", descending: false).startAt([1]).endAt([2]).limit(2).getDocuments();
[THIS WORKS]
QuerySnapshot snapshot5 = await Firestore.instance.collection('items')
.orderBy("rank", descending: false).startAt([1]).endAt([2]).limit(2).getDocuments();
[THIS WORKS]
QuerySnapshot snapshot = await Firestore.instance.collection('items')
.orderBy("title", descending: false).startAt([1]).limit(2).getDocuments();
我期望的是在过滤时能够使用 endAt() 但它抛出错误
最佳答案
我假设您的 rank
字段是数字,而您的 title
字段是字符串。在这种情况下,这是预期的行为。
Firestore 查询按值 过滤,而不是按偏移量过滤。所以当你:
.orderBy("rank", descending: false).startAt(1).endAt(2)
文档按排名排序,然后返回排名在 1 到 2(含)之间的文档。
当你这样做时:
.orderBy("title", descending: false).startAt(1).endAt(2)
文档按标题排序,然后返回标题在 1 和 2 之间的文档。但是由于标题是字符串而不是数字,这意味着没有文档符合条件并且不会返回任何内容。
Firestore 没有偏移查询的概念,您告诉它跳过前 n
个结果。
关于dart - Flutter Firestore startAt() endtAt() 在 orderby 字符串值时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54300803/
我尝试在按标题排序时使用 startAt([1]) 和 endAt([3]),但它不起作用。 QuerySnapshot snapshot = await Firestore.instance.col
我是一名优秀的程序员,十分优秀!