2017-10-25 8 views
2

銃0.8.8、Node.jsのツーのNode.jsは、ルートレベルからノードを削除することはできません

は、ノードを作成しますNode.jsの対ブラウザ、(Node.jsの)

let node = gun.get(`watcher/f0de26c0-a29f-11e7-8661-154b982951a4`); 
node.put({ 
    stats: { 
    num: 13 
    }, 
    name: 'trex' 
}); 

ノード(Node.jsの)

node.put(null); 

ノードが存在するかどうかを確認し(Node.jsの)

node.get('stats').val(function (v, k) { 
    console.log('task', task); 
    console.log('k:', k); 
    console.log('v:', v); 
}); 
012を削除します

ノードとそのプロパティはすべて存在します。ノードが存在する場合

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から削除しようとすると警告メッセージが表示されないのはなぜですか?

ルートレベルではありません。

答えて

1

短い答えはできません。あなたはノードを空にすることができます... gun.get( "rootNode").put(null);

または、「dbRoot」のような最上位レイヤノードを追加して、全員をルートより1層深くすることができます。

働くかもしれない道...

    は、最初に接続する新しい銃のインスタンスを起動し、削除したいものを除くすべてのノードのマップを行い
  • 両方のサーバーを終了し、元のサーバーにdata.jsonを移動します。
  • サーバーを再起動します。
関連する問題