我尝试将数据发送到Firebase Realtime数据库,但当我尝试写入时,我收到一个错误,显示为[firebase_database/unknown] Could not convert
。
下面是堆栈树:
[firebase_database/unknown] Could not convert
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 288:49 throw_
packages/firebase_database_web/src/interop/utils/utils.dart 92:5 jsify
packages/firebase_database_web/src/interop/utils/utils.dart 80:36 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 21:13 forEach
packages/firebase_database_web/src/interop/utils/utils.dart 79:15 jsify
packages/firebase_database_web/src/interop/database.dart 142:53 set
packages/firebase_database_web/src/database_reference_web.dart 51:23 set
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/firebase_database_web/src/database_reference_web.dart 49:19 set
packages/firebase_database/src/database_reference.dart 73:22 set
packages/ziique/FireService/RealtimeData/fire_beatIt_realtime_service.dart 34:23 createSession
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50 <fn>
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15 <fn>
下面是我的代码:
DatabaseReference ref = FirebaseDatabase.instance.ref();
var uuid = const Uuid();
List<User> users = [];
int timeschanged = 0;
int timesplayed = 0;
int versionID = 1;
Future<void> createSession(Beat beat, User host) async {
String id = uuid.v4();
try {
BeatItSession beatItSession = BeatItSession(
sessionid: id,
usersadded: users,
creationTime: DateTime.now(),
lastModified: DateTime.now(),
beatString: beat.beatString,
timeschanged: timeschanged,
timesplayed: timesplayed,
hostID: host.uid,
versionid: versionID);
final sessionRef = ref.child("beatItSessions").child(id);
print(beatItSession.toMap());
print(ref.path);
await sessionRef.set(beatItSession.toMap());
} catch (e) {
if (kDebugMode) {
print(e);
}
}
}
我已经编辑了firebase上的规则,允许所有人阅读。我也试过用一个简单的名字写手动JSON代码,仍然得到了错误。我试过给裁判一条路,但也遇到了同样的问题。
我该如何解决这个问题?
1条答案
按热度按时间g0czyy6m1#
我刚刚找出了错误的原因。对象。Firebase realtime不喜欢对象。
soo我的对象列表可能不存在。不得不使用他们的ID。