フラッターでcloud_firestoreからドキュメントを削除する

アマン・チャウダリー

私はを返しstreamBuilder、streamBuider内で、ウィジェットを返します。
これで、cloud_firestoreのコレクションからドキュメントを削除できるように、ウィジェットをdismissibleでラップしました。

showingTheSelectedDateEvents() {
    List<Widget> listViewContainer = [];

    return StreamBuilder<QuerySnapshot>(
      stream: firestoreInstance.collection('eventDetails').snapshots(),
      builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return Center(
            child: CircularProgressIndicator(
              backgroundColor: Colors.lightBlueAccent,
            ),
          );
        }
        String theDatabaseDate;
        final allDocuments = snapshot.data.docs;
        //here we get all the documents from the snapshot.
        for (var i in allDocuments) {
          theDatabaseDate = i.data()['dateTime'];
          if (theDatabaseDate == theDataProvider.databaseSelectedDate) {
            print(theDatabaseDate +
                " is same as " +
                theDataProvider.databaseSelectedDate);
            listViewContainer.add(Dismissible(
              key: ObjectKey(snapshot.data.docs.elementAt(0)),
              onDismissed: (direction) {
                firestoreInstance
                    .collection("eventDetails")
                    .doc()
                    .delete()
                    .then((_) {
                  print("success!");
                });
              },
             child://here
          
            ));
            print(listViewContainer.length);
          } else {
            print("no any events for today");
          }
        }
        return Expanded(
          child: ListView(
            reverse: true,
            padding: EdgeInsets.symmetric(horizontal: 10.0, vertical: 20.0),
            children: listViewContainer,
          ),
        );
      },
    );
  }

cloud_firestoreからデータを削除するためにこれを試しました

key: ObjectKey(snapshot.data.docs.elementAt(0)),
onDismissed: (direction) {
                firestoreInstance
                    .collection("eventDetails")
                    .doc()
                    .delete()
                    .then((_) {
                  print("success!");
                });
              },           

コレクションから特定のドキュメントを削除したいのですが、
その方法がわかりません。
これがデータベースモデルです
ここに画像の説明を入力してください

eventDetailsコレクションのドキュメントを削除しようとしています

ピーターハダッド

doc() は新しいランダムIDを生成するため、IDにアクセスできない場合は、次の手順を実行する必要があります。

    FirebaseFirestore.instance
        .collection("eventDetails")
        .where("chapterNumber", isEqualTo : "121 ")
        .get().then((value){
          value.docs.forEach((element) {
           FirebaseFirestore.instance.collection("eventDetails").doc(element.id).delete().then((value){
             print("Success!");
           });
          });
        });

where()条件を使用して必要なドキュメントを取得し、削除します。


あなたのコードであなたが使用しているので:

return StreamBuilder<QuerySnapshot>(
      stream: firestoreInstance.collection('eventDetails').snapshots(),

ここでは、の下eventDetailsにあるすべてのドキュメントをフェッチしているため、ドキュメントに一意のフィールドを追加して、forループ内でIDを取得できます。

for (var i in allDocuments) {
          if(i.data()["subject"] == "Mathemtics")
               docId = i.id;

そして、あなたはそれを削除することができます:

              onDismissed: (direction) {
                FirebaseFirestore.instance
                    .collection("eventDetails")
                    .doc(docId)
                    .delete()
                    .then((_) {
                  print("success!");
                });
              },

このようにして、ドキュメントを2回フェッチする必要はありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

FlutterのFirestoreから単一のドキュメントをクエリする(cloud_firestoreプラグイン)

分類Dev

Cloud_Firestoreから変数に単一のドキュメントデータを取得するにはどうすればよいですか?

分類Dev

フラッターでFirestoreドキュメントのフィールドを削除する方法

分類Dev

cloud_firestoreからデータをフェッチし、TextFieldにフラッターで表示する方法

分類Dev

Flutter:cloud_firestoreを使用してドキュメントからコレクションを取得するにはどうすればよいですか?

分類Dev

Firestoreのドキュメントからフィールドを削除する

分類Dev

FirestoreクエリでドキュメントIDをフラッター渡す

分類Dev

フラッターのあるドキュメントのfirestore配列からデータをフェッチする方法は?

分類Dev

クラウド関数からFirestoreドキュメントのフィールドを削除します

分類Dev

documentSnapshotからCloud Firestoreドキュメント参照を取得する

分類Dev

クラウドFirestoreでドキュメントを削除する

分類Dev

ドキュメントからデータを削除するRethinkdb

分類Dev

FirestoreドキュメントのdocumentIDをフラッターで取得していますか?

分類Dev

PythonでFirestoreから特定のドキュメントを一括削除する方法

分類Dev

Swaggerドキュメントメソッドからコントローラー名を削除する方法

分類Dev

フラッターでfirestoreの最後のドキュメントIDを取得するにはどうすればよいですか?

分類Dev

LibreofficeWriterドキュメントからメタデータを削除する

分類Dev

LibreofficeWriterドキュメントからメタデータを削除する

分類Dev

Cloud Firestoreデータベースのドキュメントが削除されないのはなぜですか?

分類Dev

Solrインデックスのドキュメントからフィールドを削除できますか?

分類Dev

フラッターを使用してクラウドファイアストアから特定のドキュメントを削除するにはどうすればよいですか?

分類Dev

Firestoreはドキュメントの内部配列からデータをフェッチします

分類Dev

Flutter Firestore [cloud_firestore / not-found]要求されたドキュメントが見つかりませんでした

分類Dev

Pythonで正規表現を使用して多くのドキュメントから同様のフッターを削除する方法

分類Dev

フラッターでFirestoneからstreambuilderを使用してネストされたドキュメントをフェッチする方法は?

分類Dev

xドキュメントからデータを取得し、それを「name」という名前の新しいドキュメントにアップロードしてから、Javaで古いドキュメントを削除する方法

分類Dev

Elasticsearchドキュメントからフィールドを削除する

分類Dev

nodejsを使用してfirestoreドキュメントからフィールドを削除します

分類Dev

where句を使用してfirestoreからドキュメントを削除する方法

Related 関連記事

  1. 1

    FlutterのFirestoreから単一のドキュメントをクエリする(cloud_firestoreプラグイン)

  2. 2

    Cloud_Firestoreから変数に単一のドキュメントデータを取得するにはどうすればよいですか?

  3. 3

    フラッターでFirestoreドキュメントのフィールドを削除する方法

  4. 4

    cloud_firestoreからデータをフェッチし、TextFieldにフラッターで表示する方法

  5. 5

    Flutter:cloud_firestoreを使用してドキュメントからコレクションを取得するにはどうすればよいですか?

  6. 6

    Firestoreのドキュメントからフィールドを削除する

  7. 7

    FirestoreクエリでドキュメントIDをフラッター渡す

  8. 8

    フラッターのあるドキュメントのfirestore配列からデータをフェッチする方法は?

  9. 9

    クラウド関数からFirestoreドキュメントのフィールドを削除します

  10. 10

    documentSnapshotからCloud Firestoreドキュメント参照を取得する

  11. 11

    クラウドFirestoreでドキュメントを削除する

  12. 12

    ドキュメントからデータを削除するRethinkdb

  13. 13

    FirestoreドキュメントのdocumentIDをフラッターで取得していますか?

  14. 14

    PythonでFirestoreから特定のドキュメントを一括削除する方法

  15. 15

    Swaggerドキュメントメソッドからコントローラー名を削除する方法

  16. 16

    フラッターでfirestoreの最後のドキュメントIDを取得するにはどうすればよいですか?

  17. 17

    LibreofficeWriterドキュメントからメタデータを削除する

  18. 18

    LibreofficeWriterドキュメントからメタデータを削除する

  19. 19

    Cloud Firestoreデータベースのドキュメントが削除されないのはなぜですか?

  20. 20

    Solrインデックスのドキュメントからフィールドを削除できますか?

  21. 21

    フラッターを使用してクラウドファイアストアから特定のドキュメントを削除するにはどうすればよいですか?

  22. 22

    Firestoreはドキュメントの内部配列からデータをフェッチします

  23. 23

    Flutter Firestore [cloud_firestore / not-found]要求されたドキュメントが見つかりませんでした

  24. 24

    Pythonで正規表現を使用して多くのドキュメントから同様のフッターを削除する方法

  25. 25

    フラッターでFirestoneからstreambuilderを使用してネストされたドキュメントをフェッチする方法は?

  26. 26

    xドキュメントからデータを取得し、それを「name」という名前の新しいドキュメントにアップロードしてから、Javaで古いドキュメントを削除する方法

  27. 27

    Elasticsearchドキュメントからフィールドを削除する

  28. 28

    nodejsを使用してfirestoreドキュメントからフィールドを削除します

  29. 29

    where句を使用してfirestoreからドキュメントを削除する方法

ホットタグ

アーカイブ