Как правило, вы можете хранить много ключей под одним узлом.На самом деле, я не думаю, что есть задокументированный лимит .Хотя я совершенно уверен, что есть теоретическая ценность, при которой он перестает работать, вы вряд ли достигнете его в реальном приложении.Он просто хранит некоторые данные, поэтому ничто не мешает вам хранить миллионы значений здесь.
Хитрость заключается в том, чтобы снова получить эти данные из базы данных.Но, например, если вы знаете точное местоположение данных, которые вы хотите прочитать, и размер данных, который вы читаете, является разумным, ограничьте его снова довольно высоким.
Это только когда вы хотите прочитать/ запросить список ключей, с которыми вы сталкиваетесь в ограничениях.Общий совет здесь заключается в том, что вам не следует запрашивать более нескольких сотен тысяч дочерних узлов, хотя в последние несколько лет это число, похоже, увеличилось.Но запрос (или чтение) миллионов узлов будет проблемой производительности.
Моя задача - не добавлять снова тот же pushToken.
Если вы хотитезначение должно быть уникальным в базе данных (независимо от того, используете ли вы базу данных реального времени или облачное хранилище пожаров), вам следует использовать это значение в качестве ключа узла (или идентификатора документа в хранилище пожаров).В коде, который будет выглядеть следующим образом:
const itemsRef = db.list('tokens');
itemsRef.child("tokenvalue").set(true);
Ключи по определению уникальны в своем родительском узле, поэтому использование push-токенов в качестве ключей автоматически гарантирует, что у вас будет только один дочерний узел для каждого push-токена.