1

Ich versuche, die Anzahl der Kinder für einen Elternknoten in js Firebase zu erhalten. Ich würde gerne haben:Firebase Anzahl num Kinder des Elternteils

'user': { 
    '-Yuna99s993m': { count: 1}, 
    '-Yada99s993m': { count: 2}, 
} 

Ich bin eine Wolke Funktion Hexe jedes Mal ein neuer Knoten wird eingegeben zu schaffen sollte Zählung gleich numChildren des Knotens Benutzer hinzuzufügen.

exports.setCount = functions.database.ref('/user/{userId}').onWrite(event => { 
    // This doesn't work 
    const count = event.data.ref.parent.numChildren(); 
    return event.data.ref.update({ count }); 
}); 

Irgendwelche Hilfe, damit dieses funktioniert?

Vielen Dank.

Antwort

1

event.data.ref.parent.numChildren() Aufruf wird nicht funktionieren, weil parent ist ein DatabaseReference während numChildren() auf DataSnapshot definiert ist (die man durch das Anbringen eines Zuhörers zu einem Referenz erhalten):

exports.setCount = functions.database.ref('/user/{userId}').onWrite(event => { 
    return event.data.ref.parent.once("value", (snapshot) => { 
     const count = snapshot.numChildren(); 
     return event.data.ref.update({ count }); 
    }); 
}) 

Es gibt auch eine child-count example in den Funktionen -Proben Github Repo, die genau das tut, was Sie wollen: einen Zähler der Anzahl der Kinder halten. Dieses Beispiel verwendet einen effizienteren Ansatz zum Halten der Zählung.

Verwandte Themen