How to move all Firebase database records (not a specific record with an id) from a specific location to another. Code for moving certain records:
JavaScript
x
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CollectionReference addToCartRef1 = firestore.collection("AddToCart");
DocumentReference addToCartRef2 = addToCartRef1.document(auth.getCurrentUser().getUid());
CollectionReference addToCartRef3 = addToCartRef2.collection("Product");
DocumentReference fromPath = addToCartRef3.document("DiaSef1RX9xlAFm26P8M");
CollectionReference deletedAddToCartRef1 = firestore.collection("AddToPurchased");
DocumentReference deletedAddToCartRef2 = deletedAddToCartRef1.document(auth.getCurrentUser().getUid());
CollectionReference deletedAddToCartRef3 = deletedAddToCartRef2.collection("Product");
DocumentReference toPath = deletedAddToCartRef3.document("DiaSef1RX9xlAFm26P8M");
moveFirestoreDocument(fromPath, toPath);
}
});
Database structure:
,
Advertisement
Answer
Method: Move data from Firestore Database (not Realtime Database) to new collection in Android Studio
JavaScript
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
firestore.collection("AddToCart").document(auth.getCurrentUser().getUid())
.collection("Product")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
QuerySnapshot tasks1 = task.getResult();
CollectionReference addToCartRef1 = firestore.collection("AddToCart");
DocumentReference addToCartRef2 = addToCartRef1.document(auth.getCurrentUser().getUid());
CollectionReference addToCartRef3 = addToCartRef2.collection("Product");
CollectionReference deletedAddToCartRef1 = firestore.collection("AddToPurchased");
DocumentReference deletedAddToCartRef2 = deletedAddToCartRef1.document(auth.getCurrentUser().getUid());
CollectionReference deletedAddToCartRef3 = deletedAddToCartRef2.collection("Product");
for (DocumentSnapshot doc1: tasks1.getDocuments()) {
DocumentReference fromPath = addToCartRef3.document(doc1.getReference().getId());
DocumentReference toPath = deletedAddToCartRef3.document(doc1.getReference().getId());
moveFirestoreDocument(fromPath, toPath);
}
}
}
});
}
});