首页 > 解决方案 > 创建查询索引后无法获取文档

问题描述

代码:

var querySnapshot = await Firestore //
    .instance
    .collection('collection')
    .where('name', isEqualTo: ['foo'])
    .orderBy('time')
    .limit(1)
    .getDocuments();

print('${querySnapshot.documents}'); // prints []

它返回空List


数据库结构:

在此处输入图像描述


建立索引

在此处输入图像描述

标签: firebasefluttergoogle-cloud-firestore

解决方案


索引在这里不是问题。鉴于您显示的查询和文档,我总是希望它不会返回任何结果。您正在对不是数组的字段使用数组包含类型查询。您的 name 字段是一个字符串,并且字符串不能被包含数组的查询匹配。

如果您打算将 name 设为一个数组,则需要修改文档,使其实际上是一个包含字符串“foo”的数组。


推荐阅读