【发布时间】:2020-11-06 10:53:17
【问题描述】:
我正在尝试使用 .where() 条件从 Firestore 获取数据。
Query adsRef = FirebaseFirestore.instance
.collection('All ads')
.where('adPrice',
isGreaterThanOrEqualTo: '2000')
.where('adPrice',
isLessThanOrEqualTo: '115000')
.limit(adsPerPage);
QuerySnapshot querySnapshot = await adsRef.get();
仅使用一个条件(例如: .where('adPrice',isGreaterThanOrEqualTo: '2000'))时有效,但不能获取所有文档[只是获取随机文档]。
当同时使用这两种条件时,即使数据库有匹配的数据,它也会返回 null。
还有其他方法可以从 Firestore 中获取两个数字内的数据吗? (在 2000 到 115000 之间)
【问题讨论】:
-
您应该在查询中添加一些错误处理并查看消息内容。
-
为什么要和字符串比较?
-
@EmilGi 是的,这是问题所在。当它是 String 时,它只会获取随机文档,一旦我将其更改为 int ,它就会按预期工作。 :)
标签: firebase flutter dart google-cloud-firestore