Android 如何仅将在一个节点添加的新数据项复制到firebase数据库中的另一个节点
我试图仅将一个节点上添加的新数据项复制到另一个节点。但是,它还复制copyto节点中的现有数据节点。请帮助我如何实现这一点,在本例中,我试图复制qSet3,以及在Questions节点添加到userQuestions节点的任何后续节点Android 如何仅将在一个节点添加的新数据项复制到firebase数据库中的另一个节点,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我试图仅将一个节点上添加的新数据项复制到另一个节点。但是,它还复制copyto节点中的现有数据节点。请帮助我如何实现这一点,在本例中,我试图复制qSet3,以及在Questions节点添加到userQuestions节点的任何后续节点 Questions = mDatabase.child("Questions"); userQuestions = mDatabase.child("UserQuestion").child(PhoneNum).child("userQuestions");
Questions = mDatabase.child("Questions");
userQuestions = mDatabase.child("UserQuestion").child(PhoneNum).child("userQuestions");
moveFirebaseRecord(Questions,userQuestions);
public void moveFirebaseRecord(DatabaseReference fromPath, final DatabaseReference toPath) {
fromPath.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
toPath.setValue(dataSnapshot.getValue(), new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError != null) {
Toast.makeText(getApplicationContext(), "COPY FAILED", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "COPY SUCCESS", Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getApplicationContext(), "onCancelled- copy fail", Toast.LENGTH_LONG).show();
}
});
}
我认为最好的选择是数据库触发器。您可以配置onCreate触发器并在该函数内进行复制