flutter - 有没有办法在同一个查询中使用 <= 或 >= 函数来假设年龄和地理位置
问题描述
如果有人可以告诉我有关它的详细信息,则在此代码中出现错误
E/MethodChannel#plugins.flutter.io/cloud_firestore(23009):无法处理方法调用 E/MethodChannel#plugins.flutter.io/cloud_firestore(23009):java.lang.IllegalArgumentException:除 whereEqualTo() 之外的所有过滤器都必须在同一个领域。但是您对“年龄”和“用户GeoHash”有过滤器
enter code here
if (user.filtergender == 'Male' &&
user.filtercounty.isNotEmpty &&
user.filterCity.isEmpty &&
user.filterReligion.isNotEmpty &&
user.filterAncestry.isEmpty &&
user.filterage0.isNotEmpty &&
user.filterage1.isNotEmpty &&
user.filterDistanz.isNotEmpty||
user.filtergender == 'Female' &&
user.filtercounty.isNotEmpty &&
user.filterCity.isEmpty &&
user.filterReligion.isNotEmpty &&
user.filterAncestry.isEmpty &&
user.filterage0.isNotEmpty &&
user.filterage1.isNotEmpty &&
user.filterDistanz.isNotEmpty) {
print('Status Male/Female w Religion w Country ');
key = usersRef
.where('activeuser', isEqualTo: 1)
.where('age', isGreaterThanOrEqualTo: user.filterage0)
.where('age', isLessThanOrEqualTo: user.filterage1)
.where('userCounty', isEqualTo: user.filtercounty)
.where('userReligion', isEqualTo: user.filterReligion)
.orderBy('userGeoHash', descending: false)
.where('userGeoHash', isGreaterThanOrEqualTo: lower)
.where('userGeoHash', isLessThanOrEqualTo: upper)
.limit(userLimit)
.getDocuments();
}
解决方案
好吧,作为第一步,为什么不按照错误消息告诉你的去做,不要使用多个 where 调用,使用单个 where 调用:
.where('userGeoHash', isGreaterThanOrEqualTo: lower, isLessThanOrEqualTo: upper)
和
.where('age', isGreaterThanOrEqualTo: user.filterage0, isLessThanOrEqualTo: user.filterage1)
推荐阅读
- node.js - UnhandledPromiseRejectionWarning: CastError: Cast to ObjectId failed for value "5ff31283882e09367cf428ce\n" at path "_id" for model "Posts"
- visual-studio - 将 JSON 文件从类库 nuget 包复制到 bin
- python - 通过 ssh 访问 Python celery 后端/代理
- cytoscape.js - Cytoscape-cxtmenu.js :根据条件显示菜单命令
- python - 添加到 Python sys.path - 找不到 PYTHONPATH 环境变量
- php - 查询选择并显示所有第一个表和第二个表甚至第二个表中不存在
- jquery - SVG 图像未更新 onMouseOver
- javascript - IntelliSense 或闭包编译器未找到 TypeScript 类
- ruby - Rdoc:如何记录委托?
- python-3.x - 如何为 celery 任务提供动态 soft_time_limit