Как удалить один объект по конкретному id из Firebase
Мне необходимо удалить или перезаписать объект, но мой код не находит его по id
fun saveNewTaskToDatabase(id:Int?){
val config = RealmConfiguration.Builder().name("realmDB.realm").build()
val realm = Realm.getInstance(config)
val database = FirebaseDatabase.getInstance().getReference("Tasks")
val taskRealm = realm.copyFromRealm(realm.where(TaskRealmObjClass::class.java).equalTo("id", id).findFirst())
val task = TaskKotlinClass(taskRealm?.id, taskRealm?.date_start.toString(), taskRealm?.date_finish.toString(), taskRealm?.name, taskRealm?.description)
val tasksQuery = database.equalTo(id?.toDouble()!!, "id")
database.child(tasksQuery.path.toString()).removeValue()
Ответы (1 шт):
Автор решения: Julia Doroshina
→ Ссылка
Может, это поможет.
Сначала надо записать все таски в массив, а потом уже в нём искать отдельный таск. Вот, как я решала похожую задачу (прошу прощения за свой джаваскриптовый):
const getCards = (userId) => {
const getCardsResult = db
.ref("requests/")
.orderByChild("owner")
.equalTo(userId)
.once("value")
.then((snapshot) => {
let items = [];
snapshot.forEach(childSnapshot => {
items.push(childSnapshot.val());
});
return items;
});
return getCardsResult;
};
const getUserById = (id) => {
return getUsers().then((users) => {
const user = users.find((user) => user.id === id);
// Ну и тут что нужно сделать с отдельным юзером
});
};
