“没有为‘DatabaseReference’类型定义‘getDocuments’方法。”颤振 - Firebase

时间:2021-02-09 10:28:11

标签: firebase flutter dart firebase-realtime-database

我在将我的项目列表保存在函数中时遇到了一些困难,因为我确实收到错误“未为类型‘DatabaseReference’定义‘getDocuments’方法。”我不知道如何解决它,也许有人会这么好心并解释我做错了什么。

这里是函数代码片段

getItemStreamSnapshots() async {
var data = await FirebaseDatabase.instance
    .reference()
    .child("Book")
    .getDocuments();

setState(() {
  _allResults = data.documents;
});
searchResultsList();
return "complete";
}

这是我的数据库的样子

2 个答案:

答案 0 :(得分:1)

DatabaseReference 没有 getDocuments() 方法。如果您想读取与 DatabaseReference 对应的数据,您应该使用 once() 方法或 onValue 属性。

您将在以下两篇文章中找到有关如何在 Flutter 中使用实时数据库的更多详细信息:"How to use Firebase realtime database with Flutter""How to use Firebase Queries In Flutter"

答案 1 :(得分:1)

自 0.14.0 查询

已弃用:不推荐使用 getDocuments(),而使用 get()。

突破:getDocuments/get 已更新为接受 GetOptions 的实例(见下文)。

新:现在可以链接查询方法。

新:现在可以在不抛出的情况下调用基于同点游标的查询(例如,调用 endAt() 然后 endBefore() 将用 endBefore 替换“结束”游标查询)。

新:添加了对 limitToLast 查询修饰符的支持。

链接:https://pub.dev/packages/cloud_firestore/changelog#0140