хорошо, Firebase не является традиционной базой данных на основе таблиц, это база данных на основе DOCUMENT.На самом верху у вас есть вещь, называемая «коллекцией», которая представляет собой просто список «документальных» вещей.В вашем случае у вас будет несколько элементов коллекции, которые будут служить каналами: «Общие», «TopicQ», «InterstingStuff» и т. Д., И внутри них каждое сообщение будет представлено в виде документа.Не нужно иметь документ, чтобы затем перечислять в нем сообщения.
Во-вторых, вам не нужны индексы, поскольку вы используете их, сделайте id сообщения атрибутом сообщения, потому что Firebase поддерживает запросыпо полю, и даже тогда сомнительно, потому что если вы сделаете каждое сообщение документом, у них будут свои собственные автоматически сгенерированные идентификаторы, если хотите.
В-третьих, в вашем коде вы каждый раз переписываете весь документ,вот почему вы теряете свои предыдущие сообщения, поэтому, если вы сохраните его, вам нужно добавить опцию слияния:
// Update one field, creating the document if it does not exist.
db.collection("cities").document("BJ").setData([ "capital": true ], merge: true)