2017-11-03 1 views
0

enter image description hereFirebase Wenn das Kind gleich etwas entfernen, die der Eintritt

Was ich versuche, einige Berechnungen mit it.if Berechnungsergebnis ist zum Beispiel zu tun ist, zum Beispiel im pixidata von db ziehen, tut> dann 10, i möchte diesen pixilats, pixilongs schlüssel entfernen.

Wie schreibe ich diese Art von Code? Ich benutze angularfire. Wie mit dem Wissen des Kindes muss ich Schlüssel entfernen. Diese

ist, wie ich die Daten erhalten:

this.pixiData = this.db.list(`/pixidata/`).valueChanges(); 
this.pixiData.take(1).subscribe(pixi => { 
    let pixidata = pixi.map(this.getObjectWithoutKnowingKey) 
this.pixiData=pixidata; 

getobject Funktion:

 getObjectWithoutKnowingKey(data) { 
    let objects = []; 
    for (var propName in data) { 
     if (data.hasOwnProperty(propName)) { 
     objects.push(data[propName]); 
     } 
    } 
    return objects; 
    } 

dank

+0

Könnten 'Cloud Functions' und' Realtime Database Triggers' eine Hilfe sein? Eine Funktion auslösen, wenn sich der Wert ändert, und ggf. den Knoten entfernen. Sehen Sie sich die Dokumentation an: https://firebase.google.com/docs/functions/database-events – Barthy

+0

Der Wert ändert sich nicht.im Ziehen von Pixidata aus db, wobei einige Berechnungen durchgeführt werden. Wenn das Berechnungsergebnis zum Beispiel> dann 10 ist, ich möchte diesen pixilats, pixilongs Schlüssel entfernen. – rektandpepper

+0

Oh, Sie fragen einfach [wie Sie Daten löschen können] (https://firebase.google.com/docs/database/web/read-and-write#delete_data)? – Barthy

Antwort

0

Ich werde einfach zitieren relevanten Teile der Dokumentation angularfire2 um Retrieving data as lists

valueChanges()

[...]

Warum Sie es verwenden würde? - Wenn Sie nur eine Liste von Daten benötigen. Kein Snapshot Metadaten werden an das resultierende Array angehängt, was es einfach macht, in eine Ansicht zu rendern.

Wann würden Sie es nicht benutzen? - Wenn Sie den [...] Schlüssel jedes Snapshots für Daten Manipulationsmethoden benötigen. Bei dieser Methode wird davon ausgegangen, dass Sie entweder den Schlüssel für die Snapshot-Daten speichern oder einen Readonly-Ansatz verwenden.

snapshotChanges()

[...]

Warum Sie es verwenden würde? - Wenn Sie eine Liste von Daten benötigen, aber auch Metadaten behalten möchten. Metadaten bietet Ihnen die Underlying DatabaseReference und Snapshot-Schlüssel. Der Schlüssel des Snapshots um erleichtert die Verwendung von Datenbearbeitungsverfahren. [...]

Bitte versuchen Sie es entweder die Schlüssel manuell speichern oder abrufen Sie sie mit Ihren Daten snapshotChanges() statt valueChanges() verwenden.

+0

Ich versuchte mit snapshotChanges() aber konnte immer noch nicht den Schlüssel der Nachricht bekommen. – rektandpepper

+0

@rektandpepper Sie könnten Ihre Frage aktualisieren und den neuen Code einfügen. Ich werde es morgen ansehen :) – Barthy

+0

https://image.prntscr.com/image/Kc0pV6eBQaqSqQXPFpLKlg.png ich war triying dieses man es pixidata.i schätze ich muss noch 1 Schicht gehen: D – rektandpepper

Verwandte Themen