Я использую этот код ниже и хорошо работает в базе данных Firebase RealTime:
const onDelete = (id) => {
if (
window.confirm("Are you sure that you wanted to delete the contact?")
) {
Db.child(`contacts/${id}`).remove((err) => {
if (err) {
alert(err);
} else {
alert("Contact Deleted Successfully");
console.timeStamp(id);
}
});
}
};
Теперь я создаю другую базу данных в Firebase Firestore, но не могу ее удалить.
const onDelete = (id) => {
if (window.confirm("Are you sure that you wanted to delete contact?")) {
firebase
.firestore()
.collection("contacts")
.doc(`${id}`)
.delete()
.then(() => {
console.log("Document successfully deleted!");
})
.catch((error) => {
console.error("Error removing document: ", error);
});
}
};
Решение проблемы
Разницы в базах здесь нет: в обоих случаях нужно указывать полный путь к удаляемым данным.
Если вы можете каким-то образом указать номера строк для базы данных реального времени, скорее всего, вы использовали эти номера строк в качестве ключей в своей базе данных. И если вы не можете сделать то же самое в Firestore, скорее всего, вы не использовали там номера строк в качестве идентификаторов документов. Если это действительно так, вам нужно либо поддерживать сопоставление номеров строк с идентификаторами документов, либо использовать номера строк для идентификаторов документов в Firestore.
Комментариев нет:
Отправить комментарий