node.js - 在从 Firebase 中删除之前检查值是否存在?
问题描述
我目前正在开发一个用 Node 编写的 REST API,用户数据存储在 Firebase 中。如果我的 API 成功处理了删除请求,它会发回 204 响应代码,但我应该先检查用户要删除的值是否存在?我觉得发回 204 代码是不对的,事实上,如果该值甚至不存在,什么都不会发生。这是我的第一个 REST API 之一,所以我不太确定应该如何正确处理它。在处理 DELETE 请求时,有人可以告诉我正确的路径吗?
解决方案
所有的 Firebase API(包括实时数据库和 Firestore——你没有说哪个)都是这样工作的。删除的成功响应表明数据只是被确认不存在,而不是数据以前存在但现在消失了。它不像文件系统中的文件那样工作,rm
如果文件不存在,类似的程序将失败。
如果您需要知道数据是否以前存在,但刚刚被删除,那么确定这一点的唯一方法是使用事务执行 read-then-write in on 操作。这是确定您执行的删除操作实际上只是删除了数据的唯一方法。
如果您不关心数据是否或如何被删除,或者它从未存在过,只需接受删除操作已确认数据不存在即可。
推荐阅读
- swift - 更改方案后反应本机 Bridge 崩溃
- multithreading - 第二种形式作为等待形式并更新其标签。[在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke]
- tensorflow - 如何在深度学习模型中制作软准确率和损失曲线
- r - 为什么我的 x 轴在我的数据结束之前被切断,当我尝试添加 xlim() 时出现错误?
- kubernetes - 如何让浏览器与不同的 Pod 对话?
- java - Hibernate InheritanceType 加入 PostgreSQL
- lotus-domino - 如何将 RFC822 内容读取为纯文本?
- ios - 集合视图未显示在 UITableViewController 中
- unity3d - ArithmeticException:函数不接受浮点非数字值。PointwiseSign() 在 Unity WebGL 中不起作用
- java - 在部署到 tomcat 期间,intellij 如何将战争映射到 webapps