要从集合中获取文档的Flutter代码,可以使用Cloud Firestore的查询功能。通过指定字段名称和字段值,您可以检索满足查询条件的所有文档。
以下是一个示例代码,演示如何根据字段名称和字段值从集合中获取文档:
import 'package:cloud_firestore/cloud_firestore.dart';
Future getDocumentsByField(String collectionName, String fieldName, dynamic fieldValue) async {
QuerySnapshot snapshot = await FirebaseFirestore.instance
.collection(collectionName)
.where(fieldName, isEqualTo: fieldValue)
.get();
return snapshot;
}
void main() async {
QuerySnapshot snapshot = await getDocumentsByField('users', 'name', 'John');
if (snapshot.docs.isNotEmpty) {
// 找到了满足条件的文档
for (DocumentSnapshot doc in snapshot.docs) {
print(doc.data());
}
} else {
// 没有找到满足条件的文档
print('没有找到满足条件的文档');
}
}
在上面的示例代码中,getDocumentsByField
函数接受三个参数:集合名称、字段名称和字段值。它返回一个QuerySnapshot
,其中包含满足查询条件的所有文档。
在main
函数中,我们使用getDocumentsByField
函数来获取满足条件的文档。如果找到了满足条件的文档,则遍历snapshot.docs
列表,并打印每个文档的数据。如果没有找到满足条件的文档,则打印一条相应的消息。
您可以根据自己的需求修改以上代码,以适应您的数据模型和查询条件。