Java 在firebase数据库中将数据添加到列表的最佳方法
我正在使用Firebase实时数据库,并试图为用户存储“动画”列表 数据库结构: 我想要实现的是,例如:对于具有“Uuid”11111的用户,将显示一个包含他正在发布的动物的列表。我的意思是:Java 在firebase数据库中将数据添加到列表的最佳方法,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在使用Firebase实时数据库,并试图为用户存储“动画”列表 数据库结构: 我想要实现的是,例如:对于具有“Uuid”11111的用户,将显示一个包含他正在发布的动物的列表。我的意思是: Fireabase-root | --- 11111 | --- animal1 | --- descripcion: "algo"
Fireabase-root
|
--- 11111
|
--- animal1
|
--- descripcion: "algo"
|
--- edad: "algo"
|
--- nombre: "algo"
|
--- raza: "algo"
--- animal2
...
--- animal3
...
我想知道做这件事的最好方法是什么。我认为孩子“animal1”是一个键,每个生成的动物都会添加一个不同的键,但我不知道这是否是解决这个问题的最佳方法。我尝试使用我看到的生成密钥的push方法,但我不知道如何使用它。我留下了我正在测试的东西
DatabaseReference nombre = FirebaseDatabase.getInstance().getReference().child("Users").child("Animales").child(userId).push().child("nombre");
nombre.setValue("Leon");
如果与用户数量相比,您拥有的动物数量较少,那么您可以做的是在根节点下,形成一个名为
动物
的节点,并在创建新动物时将其添加到该节点
同样,在根节点窗体下有一个子节点,名为users
,在其中添加user1
、user2
,等等。。。
现在,每次用户与动物关联时,您都会在该用户下创建一个新的子节点,并仅从Animals
节点添加动物的名称。当您需要访问这些动物的属性时,只需参考动物
中的信息即可
这使得树方法更短,我认为这是一种更优雅的方法,而不是为不同的用户重复创建相同的动物。我们通常根据我们想要执行的查询构造Firestore数据库。这些查询是什么?代码乍一看很好。运行此代码时,出现了什么问题?