ram*_*han 1 firebase flutter google-cloud-firestore
我想添加数据和集合我正在尝试这样
Future<void> createRoom(collection, docid, data) async {
await FirebaseFirestore.instance
.collection(collection)
.doc()
.set(data)
.collection('messages');
}
Run Code Online (Sandbox Code Playgroud)
但它显示错误The method 'collection' isn't defined for the type 'Future'.
如果您尝试在子集合中设置文档,请首先创建对该集合的 DocumentReference,然后使用set():
await FirebaseFirestore.instance
.collection(collection)
.doc("doc_id")
.collection('messages')
.doc("msg_id")
.set(data)
Run Code Online (Sandbox Code Playgroud)
请注意,您应该传递文档 ID,否则doc()每次都会生成一个随机 ID,而不是更新现有 ID。
我想同时添加数据和集合
如果您尚未添加文档,则无需显式创建集合。它将在您在集合中添加第一个文档时创建。因此尝试重构代码,如下所示:
Future<void> createRoom(collection, docid, data) async {
await FirebaseFirestore.instance
.collection(collection)
.doc("doc_Id")
.set(data);
// simply add a document in messages sub-collection when needed.
}
Run Code Online (Sandbox Code Playgroud)
另请查看:如何从 Javascript 在 Cloud Firestore 中创建集合?
| 归档时间: |
|
| 查看次数: |
5777 次 |
| 最近记录: |