我正在使用flutter来查询数据库。 我有一个实时数据库,如下所示:
我想按条件选择一条记录: email='test@gmail.com'和密码='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}}
当然,我可以解析值以获得密码值,但是我认为还有另一种更好的解决方案。 我该怎么办? 非常感谢!!!
答案 0 :(得分:0)
正在工作!
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
cloud_firestore: ^0.12.7+1
firebase_auth: ^0.14.0+1
firebase_storage: ^3.0.4
Firestore.instance
.collection('task')
.where('ownerId', isEqualTo: user.userData['id']).where('status', isEqualTo: 'OPEN')
.snapshots(),
答案 1 :(得分:0)
如果您正在寻找灵活的查询,我建议使用 Firestore。使用 Firestore,您可以为您的用例运行查询,如下所示:
FirebaseFirestore.instance
.collection(USERS_TBL)
.where('email', isEqualTo: email).snapshots()
这将返回具有相同电子邮件的集合中所有文档的查询快照。