我从编程开始,我有疑问。 首先,我可以在firebase上插入数据,但是,当我尝试插入新数据时,之前插入的数据会更改/更新为新数据。如何在数据之前插入新数据并继续? 其次,如何将firebase上的数据一起插入“主键”? (图中的例子)。 "Primary key" highlighted in image 拥抱。
答案 0 :(得分:1)
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("tasks").push().setValue(firebaseData, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
//Problem with saving the data
if (databaseError != null) {
} else {
//Data uploaded successfully on the server
}
}
});
答案 1 :(得分:1)
Firebase数据库的结构是键和值。这意味着数据库中的每个节点都是Map
。向Firebase添加数据时,请考虑将数据添加到Map
。我们知道,Map
不允许重复键。这意味着,如果我们使用相同的密钥,则在Map
的情况下,会将旧值替换为新值。这意味着每次我们想要添加数据时,我们都需要一个不同的密钥。 Firebase中的做法是使用push()
方法,每次调用方法时都会提供唯一键。
要将数据添加到Firebase数据库,请使用以下代码重新编写您的信息:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference tasksRef = rootRef.child("tasks").push();
tasksRef.setValue(taskObject);
您还可以添加CompletionListener
以实际查看数据是否已成功添加到数据库中。