У меня есть следующий код в моем javascript файле, кажется, он работает нормально, но когда я смотрю на консоль firestore, документ все еще там. И если я запускаю свой код инициализации, который загружается из firestore, он загружает do c в мое приложение. Правила базы данных разрешают любой доступ, поэтому не вижу проблем с удалением документа. Фактически, в другом месте у меня есть аналогичный код, и он успешно удаляет документы из хранилища огня. Почесывая голову, этот код должен удалить документ из хранилища огня, но этого не произойдет. Я весь день гуглил эту проблему и не могу найти объяснения или аналогичной проблемы. Я попытался удалить и воссоздать всю свою базу данных, удалил и создал новых пользователей. Но документы категорий в коллекции 'категорий' просто не удаляются из кода (с консоли да)
ЗДЕСЬ МОЙ КОД
deleteCategory({ commit }) {
// save id before we delete from vuex so we can delete from firestore after
let id_to_delete = state.categories[state.currentCategory].id
console.log('idToDelete BEFORE = ', id_to_delete)
console.log('cat id in vuex', state.categories[state.currentCategory].id)
commit('deleteCategory')
// now go out to database and delete this category
console.log('HOOK: delete category from cloud here')
console.log('user id=', state.userID)
console.log('idToDelete AFTER = ', id_to_delete)
let catRef = fs.collection('users')
.doc('state.userID')
.collection('categories')
.doc(id_to_delete)
console.log('catRef=', catRef)
catRef.delete().then(function() {
console.log('Category successfully deleted!')
console.log('THEN: user id=', state.userID)
console.log('THEN: idToDelete = ', id_to_delete)
})
.catch(function (error) {
console.error('Error removing category: ', error)
})
},
ЗДЕСЬ МОЙ КОНСОЛЬНЫЙ ВЫХОД:
idToDelete BEFORE = b6f58a4e-6aa4-4e8a-9925-c3f7948739d c
идентификатор кошки в vuex b6f58a4e-6aa4-4e8a-9925-c3f7948739d
* категория удаления
* 10 из облака здесь
идентификатор пользователя = JFRImEwHsNMidmUqxhS80lXioDs1
idToDelete AFTER = b6f58a4e-6aa4-4e8a-9925-c3f7948739d c
t , firestore: t, hE: undefined, WT: t}
Категория успешно удалена!
ТО: идентификатор пользователя = JFRImEwHsNMidmUqxhS80lXioDs1
ТО: idToDelete = b6f58a4e-6a -9925-c3f7948739d c
ЗДЕСЬ ПРАВИЛА МОЕЙ БАЗЫ ДАННЫХ:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// This rule allows anyone on the internet to view, edit, and delete
// all data in your Firestore database. It is useful for getting
// started, but it is configured to expire after 30 days because it
// leaves your app open to attackers. At that time, all client
// requests to your Firestore database will be denied.
//
// Make sure to write security rules for your app before that time, or else
// your app will lose access to your Firestore database
match /{document=**} {
allow read, write: if request.time < timestamp.date(2021, 6, 24);
}
}
}
ЗДЕСЬ ТАК, КАК FIRESTORE ВЫГЛЯДИТ ПОСЛЕ ЗАПУСКА КОДА:
ЛЕВАЯ ПАНЕЛЬ:
категории
СРЕДНЯЯ ПАНЕЛЬ:
категории
4f0e7a78-7787-41df-bea5-66a01f41a7c8
b6f58a4e-6aa4-4e8a-9925-c3f7948739d c
ПРАВАЯ ПАНЕЛЬ:
b6f58a4e-6aa4-4e8a-9925-c3f7948739d c* 1045s *
описание 1047 *
идентификаторы
имя: "люди"
вещи