【发布时间】:2022-01-09 14:06:38
【问题描述】:
最近我从教程中学习创建一个事件,但原始事件是在 firestore 中制作的,我正在尝试使用 firebase rtdb,
这里是原始代码:
class FirebaseApi {
static Future<String> createTodo(Todo todo) async {
final docTodo = FirebaseFirestore.instance.collection('todo').doc();
todo.id = docTodo.id;
await docTodo.set(todo.toJson());
return docTodo.id;
}
}
这是我创建的代码,抱歉我的基础知识现在很好,我应该返回什么
class FirebaseApi {
static Future<String> createTodo(Todo todo) async{
final todoRefMessages = FirebaseDatabase.instance.ref().child('todo');
final newTodo = FirebaseDatabase.instance.ref().child('todo').get().then((snapshot) async{
final json = Map<dynamic, dynamic>.from(snapshot.value);
final newTodo = Todo(
createdTime: Utils.toDateTime(json['createdTime']),
title: json['title'],
description: json['description'],
id: json['id'],
isDone: json['isDone'],
);
await todoRefMessages.set(newTodo.toJson());
return newTodo;
});
todo.id= newTodo.id;//here got error, The getter 'id' isn't defined for the type 'Future<Todo>
return newTodo.id;
}
}
能否请您告诉我如何创建相同的方法,但对于 firebase rtdb,提前致谢!
【问题讨论】:
标签: flutter firebase-realtime-database google-cloud-firestore