dart firebase_database/未知:无法转换错误

wyyhbhjk  于 2023-05-20  发布在  其他
关注(0)|答案(1)|浏览(138)

我尝试将数据发送到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代码,仍然得到了错误。我试过给裁判一条路,但也遇到了同样的问题。
我该如何解决这个问题?

g0czyy6m

g0czyy6m1#

我刚刚找出了错误的原因。对象。Firebase realtime不喜欢对象。
soo我的对象列表可能不存在。不得不使用他们的ID。

相关问题