firebase - 创建查询索引后无法获取文档
问题描述
代码:
var querySnapshot = await Firestore //
.instance
.collection('collection')
.where('name', isEqualTo: ['foo'])
.orderBy('time')
.limit(1)
.getDocuments();
print('${querySnapshot.documents}'); // prints []
它返回空List
。
数据库结构:
建立索引
解决方案
索引在这里不是问题。鉴于您显示的查询和文档,我总是希望它不会返回任何结果。您正在对不是数组的字段使用数组包含类型查询。您的 name 字段是一个字符串,并且字符串不能被包含数组的查询匹配。
如果您打算将 name 设为一个数组,则需要修改文档,使其实际上是一个包含字符串“foo”的数组。
推荐阅读
- ubuntu - 如何使用 Ubuntu 将本地图像文件从我的计算机复制到远程服务器?
- wordpress - 菜单未在移动设备上显示(纵向模式)
- twitter-bootstrap-3 - 区域映射到引导选项卡不起作用
- javascript - 尝试为三角形的每个顶点获取多种颜色
- javascript - 使用 reduce 分组和求和
- sql - SQL 查询按日期更改历史记录
- java - 最少重复/项目在数组中出现一次
- git - 执行合并后在两个分支中同时提交
- laravel - Laravel 5.5 - 根据 id 将 2 个集合合并为一个?
- sql-server - SUM(y) OVER (ORDER BY x) SQL Server 2008 R2