Flutter 我怎样才能在Firestore中获得一个集合的所有文档名
我现在用Firestore在Flatter中制作了一个应用程序,我会浏览一个集合中的所有文档,我想获得文档名(id)和文档字段,并对其进行处理。我已经制作了一个显示数据的列表视图,但是我不能用它来做一些事情,例如,将它添加到列表或其他东西中。Flutter 我怎样才能在Firestore中获得一个集合的所有文档名,flutter,google-cloud-firestore,Flutter,Google Cloud Firestore,我现在用Firestore在Flatter中制作了一个应用程序,我会浏览一个集合中的所有文档,我想获得文档名(id)和文档字段,并对其进行处理。我已经制作了一个显示数据的列表视图,但是我不能用它来做一些事情,例如,将它添加到列表或其他东西中。 谢谢您可以通过获取以下文档列表来实现: final QuerySnapshot result = await Firestore.instance.collection('myCollection').getDocuments(); f
谢谢您可以通过获取以下文档列表来实现:
final QuerySnapshot result =
await Firestore.instance.collection('myCollection').getDocuments();
final List<DocumentSnapshot> documents = result.documents;
首先,参考Firestore
final userRef = Firestore.instance.collection('users');
其次,使用迭代器从fireStore获取所有文档
userRef.getDocuments().then((snapshot) {
snapshot.documents.forEach((doc) {
print(doc.data);
});
});
- 例如,您可以获取电子邮件等特定数据:
- 您可以通过以下方式获取文档Id:
- 可以通过检查文档是否存在
getDocuments
相反,我们可以使用get
查询集合中的所有文档
像这样
final QuerySnapshot result =
await Firestore.instance.collection('myCollection').get();
final List<DocumentSnapshot> documents = result.docs;
documents.forEach((data) => print(data));
您还可以通过使用FutureBuilder包装小部件来获取文档名称 像这样:
FutureBuilder(
未来:FirebaseFirestore.instance
.集合(“集合名称”)
.get(),
生成器:(上下文,异步快照){
if(snapshot.hasData){
QuerySnapshot documents=snapshot.data;
列表单据=documents.docs;
docs.forEach((数据){
打印(data.id);
});
}否则{
打印(“nodata”);
}
返回容器();
})
正如Shubham所说,getDocuments
现在已被弃用,因此如果您只想返回文档的名称,您应该执行以下操作:
final db = FirebaseFirestore.instance;
var result=await db.collection('Pets').get();
result.docs.forEach((res) {print(res.id); });
您还可以使用where
打印特定的文件,如下所示:
var result=await db.collection('Pets').where("sex",whereIn:["Male"] ).get();
result.docs.forEach((res) {print(res.id); });
祝我好运。你的问题有点含糊不清。你到底坚持什么?您是否阅读了文档并看到了示例代码?
final QuerySnapshot result =
await Firestore.instance.collection('myCollection').get();
final List<DocumentSnapshot> documents = result.docs;
documents.forEach((data) => print(data));
FutureBuilder(
future: FirebaseFirestore.instance
.collection("collection_name")
.get(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasData) {
QuerySnapshot documents = snapshot.data;
List<DocumentSnapshot> docs = documents.docs;
docs.forEach((data) {
print(data.id);
});
} else {
print("nodata");
}
return Container();
})
final db = FirebaseFirestore.instance;
var result=await db.collection('Pets').get();
result.docs.forEach((res) {print(res.id); });
var result=await db.collection('Pets').where("sex",whereIn:["Male"] ).get();
result.docs.forEach((res) {print(res.id); });