首页 > 解决方案 > 在从 Firebase 中删除之前检查值是否存在?

问题描述

我目前正在开发一个用 Node 编写的 REST API,用户数据存储在 Firebase 中。如果我的 API 成功处理了删除请求,它会发回 204 响应代码,但我应该先检查用户要删除的值是否存在?我觉得发回 204 代码是不对的,事实上,如果该值甚至不存在,什么都不会发生。这是我的第一个 REST API 之一,所以我不太确定应该如何正确处理它。在处理 DELETE 请求时,有人可以告诉我正确的路径吗?

标签: node.jsfirebaserest

解决方案


所有的 Firebase API(包括实时数据库和 Firestore——你没有说哪个)都是这样工作的。删除的成功响应表明数据只是被确认不存在,而不是数据以前存在但现在消失了。它不像文件系统中的文件那样工作,rm如果文件不存在,类似的程序将失败。

如果您需要知道数据是否以前存在,但刚刚被删除,那么确定这一点的唯一方法是使用事务执行 read-then-write in on 操作。这是确定您执行的删除操作实际上只是删除了数据的唯一方法。

如果您不关心数据是否或如何被删除,或者它从未存在过,只需接受删除操作已确认数据不存在即可。


推荐阅读