Uma*_*Uma 6 dart firebase flutter google-cloud-firestore
我正在尝试在文档中创建一个子集合并将数据设置为创建的子集合中的文档。
我试过这个,但每次运行时程序都会崩溃。
await Firestore.instance
.collection('/path')
.document("documentPath")
.collection('/subCollectionPath')
.document()
.setData({
'TestData': "Data",
}).then((onValue) {
print('Created it in sub collection');
}).catchError((e) {
print('======Error======== ' + e);
});
Run Code Online (Sandbox Code Playgroud)
我也在网上查看过,但找不到任何相关文档。
有任何想法吗?
当我尝试上述代码时,应用程序崩溃并显示以下消息
flutter: EVENT StorageTaskEventType.success
*** First throw call stack:
(
0 CoreFoundation 0x0000000111eb61bb __exceptionPreprocess + 331
1 libobjc.A.dylib 0x0000000111454735 objc_exception_throw + 48
2 Runner 0x000000010ce707b1 -[FIRFirestore documentWithPath:] + 257
3 Runner 0x000000010d10662c getDocumentReference + 124
4 Runner 0x000000010d109879 -[FLTCloudFirestorePlugin handleMethodCall:result:] + 2665
5 Flutter 0x000000010e5b99a2 __45-[FlutterMethodChannel setMethodCallHandler:]_block_invoke + 115
6 Flutter 0x000000010e5d6616 _ZNK5shell21PlatformMessageRouter21HandlePlatformMessageEN3fml6RefPtrIN5blink15PlatformMessageEEE + 166
7<…>
Run Code Online (Sandbox Code Playgroud)
与设备的连接丢失。
Gnz*_*iet 12
final databaseReference = Firestore.instance;
databaseReference.collection('main collection name').document( unique id).collection('string name').document().setData(); // your answer missing **.document()** before setData
Run Code Online (Sandbox Code Playgroud)
这是正确的语法
想通了问题所在。我使用了错误的语法。正确的语法是
Firestore.instance.collection('path').document("documentPath").collection('subCollectionPath').setData({});
Run Code Online (Sandbox Code Playgroud)
这里的主要区别是正斜杠已从路径名称中删除。
| 归档时间: |
|
| 查看次数: |
10720 次 |
| 最近记录: |