通过引用类型中的条件收听Firestore

时间:2019-04-27 14:48:55

标签: dart flutter google-cloud-firestore

我正在学习颤动,也正在学习firestore,尝试实施并得到这种情况。

我有一个Account文档,该文档的ID是KCeEhT9NwFURl0xirRrU之类的生成器,而Book文档必须用Account进行引用,现在我想创建一个侦听器对于通过电子邮件对特定帐户进行的Book更改,我尝试但不起作用。

var accountRef = firestore.collection('Account')
  .where("email", isEqualTo: email)
  .reference()
  .document();
firestore.collection('Book')
  .where('assigner', isEqualTo: accountRef)
  .where('status', isGreaterThan: 0)
  .snapshots()
  .listen((query) async {
    List<Book> books = <Book>[];
    for (var documentChange in query.documentChanges) {
      var book = await Book.fromMap(documentChange.document.data);
      books.add(book);
    }
    print(books);
  }
);

如果我使用它可以使用,但是我不记得文档ID

var accountRef = firestore.collection('Account').document('KCeEhT9NwFURl0xirRrU');

我只想通过电子邮件过滤,有任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

尝试

# dictB = {'hello': 5, 'world': 42}
# dictA = {}
if value := dictB.get('hello', None):
  dictA["hello"] = value
# dictA is now {'hello': 5}