【发布时间】:2019-09-29 11:18:45
【问题描述】:
我想按条件选择记录:email='test@gmail.com' and password='111111'
我阅读了以下链接的解决方案 Query based on multiple where clauses in Firebase 但它与颤振不兼容。我的代码如下:
var snapshot = await _firestore
.reference()
.child(USERS_TBL)
.orderByChild('email')
.equalTo(email)
.once()
.then((DataSnapshot snapshot) {
print(snapshot.value);
});
输出:
{-LeXpDcLqkwS0c1lgP7O: {user_role: USER, 密码: 111111, 性别: 1, 姓氏:abcee,名字:abcd,电子邮件:test@gmail.com}}
当然,我可以解析值来获取密码值,但我认为还有另一种更好的解决方案。 我该怎么做? 非常感谢!!!
【问题讨论】:
-
没有更好的查询。这是查询与实时数据库一起工作的方式 - 您需要读取与查询匹配的每个完整子节点。如果您想最小化查询获取的数据量,请将每个字段分成不同的根节点。
-
您是否尝试过使用https://pub.dev/packages/firebase_database?另外,如果您能提供a minimal, reproducible example 会更有帮助。如果您还没有访问过,还可以使用 "Explore Realtime Database In Flutter" 之类的示例。这可以让您深入了解 Flutter 实时数据库的实现。
标签: firebase-realtime-database dart flutter