gun 0.8.8, 节点.js到节点.js, 节点.js到浏览器
创建节点(节点.js)
let node = gun.get(`watcher/f0de26c0-a29f-11e7-8661-154b982951a4`);
node.put({
stats: {
num: 13
},
name: 'trex'
});
删除节点(节点.js)
node.put(null);
检查节点是否存在(节点.js)
node.get('stats').val(function (v, k) {
console.log('task', task);
console.log('k:', k);
console.log('v:', v);
});
节点及其所有属性仍然存在!
task f0de26c0-a29f-11e7-8661-154b982951a4
k: stats
v: { _: { '#': 'j949102jDUdSklGduZh8', '>': { num: 1508926521878 } },
num: 13 }
检查节点是否存在(浏览器)
gun.get('watcher/f0de26c0-a29f-11e7-8661-154b982951a4').get('stats').val((v, k) => console.log(JSON.stringify(v)))
VM604:1 {"_":{"#":"j949102jDUdSklGduZh8",">":{"num":1508926521878}},"num":13}
尝试再次删除节点(浏览器)
gun.get('watcher/f0de26c0-a29f-11e7-8661-154b982951a4').put(null)
gun.js:825 Data saved to the root level of the graph must be a node (an object), not a object of "null"!
是否可以完全删除根级节点?
为什么当我尝试从 Node.js 中删除它时没有警告消息?
什么是非根级别?
简短的回答是你不能。 您可以清空节点...gun.get( "rootNode" ).put( null );
或者,您可以添加一个像"dbRoot"这样的顶层节点,并将每个人放在比根更深的一层。
一种可能有效的方法...
- 启动连接到第一个节点的新 gun 实例,并执行除要删除的节点之外的所有节点的映射。
- 关闭两个服务器,将 data.json 移动到原始服务器
- 重新启动服务器。