2015-03-18 12 views
16
{ 
    43268jfjn7983-347983: 
    { 
     title: 'hello world', 
     time: '1000' 
    } 
} 

Wie oben, ich möchte nur 43268jfjn7983-347983 auf etwas anderes aktualisieren, ist dies in Firebase möglich?Firebase: Aktualisierungsschlüssel?

+0

Ich frage mich, ob es eine tatsächliche Antwort gibt? –

Antwort

19

Es gibt keine Möglichkeit, den Schlüssel eines vorhandenen Knotens zu ändern.

Anstatt also würde ich gehen für:

var ref = new Firebase('https://my.firebaseio.com/'); 
var child = ref.child('43268jfjn7983-347983'); 
child.once('value', function(snapshot) { 
    ref.child('somethingElse').set(snapshot.val()); 
    child.remove(); 
}); 
+0

Danke, ich denke, das wird reichen. – createvel

-1

Wenn es sich um Zweck debuggen, es einfach durch die Feuerbasis Echtzeit-Datenbank-Konsole durchgeführt werden kann.

  1. die JSON-Datei Ihrer Datenbank exportieren, indem Sie auf den settings icon klicken und dann auf "Export JSON".

  2. Öffnen Sie es in einem einfachen Texteditor, wenden Sie die erforderlichen Änderungen an und speichern Sie sie.

  3. Klicken Sie in der Echtzeitdatenbankkonsole auf das Symbol für die gleichen Einstellungen und dann auf und dann auf "JSON importieren".

CAVEAT: eine JSON-Datei importieren überschreibt die gesamte Datenbank.

+0

Wie in der Antwort gesagt, kann diese Lösung nicht wirklich in einer Produktionsumgebung verwendet werden. Das Verfahren ist einfach zu langsam. – sampoh

+0

@sampoh würde eine Lösung sein, um zwei DBs synchron zu haben und nur den Ref zu wechseln, wenn du einen aktualisieren musst, und ihn dann zurückschaltest, nachdem du Jason geändert und hochgeladen hast? – evu

+0

@evu, du wirst nicht schnell genug sein. Das Problem besteht darin, dass Firebase in der Produktionsumgebung ständig Anfragen erhalten kann. Wenn Sie mit dem Import fertig sind, haben Sie möglicherweise bereits Daten verloren, die während der JSON-Bearbeitung in der Master-DB geändert wurden. – sampoh

Verwandte Themen