检查firebase文档中的特定字段,如果找到字段,则返回文档ID?
如果文档中的字段与我需要的匹配,我想返回文档id。到目前为止我已经试过了检查firebase文档中的特定字段,如果找到字段,则返回文档ID?,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,如果文档中的字段与我需要的匹配,我想返回文档id。到目前为止我已经试过了 你应该考虑哪种方法返回Firebase平台中的内容。code>getDocument()返回多个文档(如果有)。您的结果变量现在保持QuerySnapshot。您可以使用此代码迭代每个文档 result.documents.forEach((DocumentSnapshot documentSnapshot ){ print(documentSnapshot.data); }); 如果要从数据库中获取与结果查询
你应该考虑哪种方法返回Firebase平台中的内容。code>getDocument()返回多个文档(如果有)。您的
结果
变量现在保持QuerySnapshot
。您可以使用此代码迭代每个文档
result.documents.forEach((DocumentSnapshot documentSnapshot ){
print(documentSnapshot.data);
});
如果要从数据库中获取与
结果
查询相对应的元素,则应使用流
,如以下代码行所示:
Widget _build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: queueCollection.where('patientID', isEqualTo: uid).snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return LinearProgressIndicator();
}
var snapshots = snapshot.data.documents;
//Do what you need to do with the data
//return a ListView for example
},
);
}
嗨,马库斯!你试过我上面的方法吗?如果你认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️) 在投票箭头的左边。应该换成绿色。我真的很感激。谢谢!
Widget _build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: queueCollection.where('patientID', isEqualTo: uid).snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return LinearProgressIndicator();
}
var snapshots = snapshot.data.documents;
//Do what you need to do with the data
//return a ListView for example
},
);
}
var patientID = userDocument["patientID"]