【问题标题】:How to delete data in gun DB?如何删除枪支数据库中的数据?
【发布时间】:2016-06-10 23:55:55
【问题描述】:

我一直在开发一些东西,你知道在早期的原型制作过程中,类型和表格变化很快......清理旧数据并在某些网格中重新开始会很好。

现在我使用的是示例 HTTP 服务器,所以我删除了 data.json;但是我忘记了浏览器中的localStorage也需要清除。

有人可能会认为你可以 put(null)

我在 gitter 上询问并得到了

https://github.com/amark/gun/wiki/delete

除了删除,大声笑,我们的借口是“它就像你的操作系统一样工作,当你删除它只是被扔进垃圾箱/回收站的东西。就是这样。” 安全总比后悔好

如果你试图“删除”东西,因为你在开发时搞砸了 >something,请遵循以下三个步骤:1) localStorage.clear() 在每个 >browser 选项卡中,2) 使服务器和 rm 崩溃data.json,3)重新启动>一切。然后你应该有一个干净的石板。很多时候,当我 > 开发某些东西时,我将 localStorage.clear() 放在我的代码顶部,所以我只需要担心清除服务器。

【问题讨论】:

    标签: database gun


    【解决方案1】:

    欢迎来到枪支社区!感谢您提出问题。

    是的,使用gun.put(null) 删除数据最简单。采取:

    var gun = Gun();
    var users = gun.get('users');
    users.put({alice: {name: 'alice'}, bob: {name: 'bob'}});
    // now let's delete bob
    users.path('bob').put(null);
    

    但是,如果(正如您在问题中提到的),您的意思是“删除数据”,因为您希望在开发应用程序时清除错误。您需要执行您提到的操作:localStorage.clear() 在所有浏览器中,使所有服务器崩溃,rm data.json

    对于其他开发人员来说,了解 gun 使用一种墓碑方法可能会很有用。您实际上不能自己删除节点,它们只是被取消引用,有点像您的操作系统如何将文件移动到垃圾箱/回收站中。这种墓碑方法在分布式环境中非常重要,因此“删除”操作会复制到每个对等方。

    感谢您回答您自己的问题!与往常一样,如果您迷路或需要帮助,请点击https://gitter.im/amark/gun

    【讨论】:

    • gun().put(null) 似乎是最普遍的答案,因为 gun 现在可以在没有 localStorage 的地方运行(例如在 react-native 上使用 async-storage)
    • @marknadal - 我们尝试在收集和处理事件的设置中使用枪。它们只在最初的 n 小时内很重要,然后就应该丢弃它们。我们可以使用put 将事件替换为null,但这会扩展吗?在某些时候,map 将不得不处理大量指向 null 的 id。有这方面的策略吗?
    • 完全没有,只是生成新的bucket,gun.get('list/2022/2/4').set(...)gun.get('list/2022/2/5').set(...)gun.get('list/2022/2/6').set(...)...
    猜你喜欢
    • 2016-03-15
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    相关资源
    最近更新 更多