如何从 Firestore 中的数组中逐一检索数据

How to retrieve data one by one from an array in the Firestore

文档中有大约 30,000 个单词的数组。

我一直在开发移动应用程序。我想根据特定条件 6 乘 6 地检索此处的单词。但是如果使用“get()”函数(如下所示),当每个用户通过下一个级别时,应用程序将读取 30,000。为了防止这种情况,我想提取一定数量的数据。有什么方法可以让我一个一个拉取数据吗?

void readData() async {
    var _wordsDoc = await _firestore.collection('words').doc('tr').get();
    int index = userInfo.getLevel();
    int fireCounter = 1;
    for (int i = (index - 1) * 6; fireCounter <= 6; i++) {
      Words.words.add(_wordsDoc['kelimeler'][i]);
      fireCounter++;
    }
    setState(() {});
  }
}

不,没有。当您阅读文档时,您总是会获得文档的全部内容。没有办法限制它。

您唯一的解决方法是将每个数组项放在一个单独的文档中,并只查询您需要的那些文档。