9

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

现在我使用的是示例 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() 放在我的代码顶部,所以我只需要担心清除服务器。

4

1 回答 1

9

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

是的,删除数据最简单的是使用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

于 2016-06-11T00:10:26.360 回答