Как получить размер элемента/списка в Firebase, не получить все это?

Мне нужно измерить размер/длину элемента или списка в Firebase, но мне не нужен реальный контент.

Что-то вроде firebase.database().ref("users/").once("length" || "size").then(callback)

ps Javascript SDK

Ответ 1

У Firebase нет оператора подсчета, поэтому единственный способ - загрузить всех детей или сохранить отдельное свойство <children>_count в синхронизации. Последнее не представляет собой тривиальную задачу (см. Мой ответ здесь для одного подхода), поэтому чаще всего разработчики, вероятно, в конечном итоге идут по принципу "слишком много данных", но есть тривиальный подход:

ref.child("messages").on("value", function(snapshot) {
  console.log("There are "+snapshot.numChildren()+" messages");
})

Более эффективным способом подсчета детей было бы запустить вызов REST с параметром " shallow=true, который даст вам только ключи. См. В Firebase, есть ли способ получить число дочерних узлов узла без загрузки всех данных узла?