2017-11-12 35 views
0

firebase firestoreの文書やコレクションの名前を変更、移動、更新する方法を教えてもらえますか?Cloud Firestoreでドキュメントを移動するには?

ファイヤーベースファイヤーストアにアクセスして、コレクションや文書を端末やアプリケーションから更新することはできますか?

答えて

0

実際には、文書をある場所から別の場所に単に移動できる方法はありません。move作成する必要があります。 fromPathあなたが移動することにしたいとtoPathドキュメントの場所です

public void moveFirestoreDocument(DocumentReference fromPath, final DocumentReference toPath) { 
    fromPath.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() { 
     @Override 
     public void onComplete(@NonNull Task<DocumentSnapshot> task) { 
      if (task.isSuccessful()) { 
       DocumentSnapshot document = task.getResult(); 
       if (document != null) { 
        toPath.set(document.getData()) 
         .addOnSuccessListener(new OnSuccessListener<Void>() { 
          @Override 
          public void onSuccess(Void aVoid) { 
           Log.d(TAG, "DocumentSnapshot successfully written!"); 
           fromPath.delete() 
           .addOnSuccessListener(new OnSuccessListener<Void>() { 
             @Override 
             public void onSuccess(Void aVoid) { 
              Log.d(TAG, "DocumentSnapshot successfully deleted!"); 
             } 
           }) 
           .addOnFailureListener(new OnFailureListener() { 
             @Override 
             public void onFailure(@NonNull Exception e) { 
              Log.w(TAG, "Error deleting document", e); 
             } 
           }); 
          } 
         }) 
         .addOnFailureListener(new OnFailureListener() { 
          @Override 
          public void onFailure(@NonNull Exception e) { 
           Log.w(TAG, "Error writing document", e); 
          } 
         }); 
       } else { 
        Log.d(TAG, "No such document"); 
       } 
      } else { 
       Log.d(TAG, "get failed with ", task.getException()); 
      } 
     } 
    }); 
} 

これであなたがしたいloactionです:別の場所からドキュメントを移動するために、私はあなたが以下の方法を使用してsuugestドキュメントを移動します。次のように

流れがある:

  1. GetfromPath位置から文書。
  2. Write文書をtoPathに移動します。
  3. DeletefromPathからの文書。

これだけです!

+0

ご協力ありがとうございます。あなたはコレクションを移動する方法を教えてください。 –

+0

文書と同じ方法です。ドキュメントの場所を指す代わりに 'fromPath'がコレクションの場所を指す必要があります。 –

+0

@AlexMamo文書にサブコレクションがある場合は、上記の作業はできますか? – Snake

関連する問題