Я пытаюсь удалить документ из Firestore, я не получаю сообщение об ошибке, но документ все еще находится в базе данных: просто он продолжает оставаться в коллекции, которой он принадлежит.
Облачная функция:
exports.countdowns_crud = functions.https.onRequest((request, response) => {
var req = request;
var res = response;
if (request.method === 'DELETE') {
const countdownId = request.path.split('/')[1];
const deleteOperation = db.DeleteCountdown(countdownId);
if (!deleteOperation) {
console.log('Delete operation result: ', deleteOperation);
cors(req, res, () => {
res.status(204).send("DELETED");
});
}
else {
console.error(addOperation);
cors(req, res, () => {
res.status(500).send("INTERNAL SERVER ERROR");
});
};
return;
}
cors(req, res, () => {
res.status(405).send("NOT ALLOWED");
return;
});
})
Функция DeleteCountdown находится в другом модуле:
module.exports = {
DeleteCountdown: (countdownId) => {
const countdownsCollection = app.firestore.collection('countdowns');
countdownsCollection.doc(countdownId).delete()
.then((res) => {
console.log('Result: ', res);
return null;
})
.catch((e) => {
console.error(`unable to delete the countdown ${countdowmnId}: ${e}`);
return e;
});
}
}
Это логика в облачной функции Google, которая корректно вызывается моим приложением реакции при удалении. Переданный идентификатор верен, ошибка не возвращается, но документ продолжает жить в коллекции.