web-dev-qa-db-ja.com

firebase firestoreで配列要素を追加/更新/削除する方法Androidハッシュマップを使用して?ストアデータベース

ユーザーのコレクションを作成します。ユーザーはドキュメントとして複数のストアを持ち、各ドキュメントにはstoreNamestoreAddressavailableProductsなどのフィールドがあります。私の質問は、availableProducts配列を管理する方法ですか? Firestoreは配列を処理できないことを知っているので、HashMapを使用する必要があります。使用可能な製品には、製品名、製品価格などのフィールドがあります。Firebaseを初めて使用する場合、Java St​​udioでAndroidを使用してavailableProduct配列を管理するにはどうすればよいですか?

FireBase Firestore DataBase Image

7
sum20156

良いニュースです。配列の最新の改善により、配列要素を追加、更新、削除できます。

このブログ投稿をご覧ください: Cloud Firestoreのより良い配列!

このようにできます

//Map to add user to array
final Map<String, Object> addUserToArrayMap = new HashMap<>();
addUserToArrayMap.put("arrayOfUsers", FieldValue.arrayUnion(mAuth.getCurrentUser().getUid()));

//Map to remove user from array
final Map<String, Object> removeUserFromArrayMap = new HashMap<>();
removeUserFromArrayMap.put("arrayOfUsers", FieldValue.arrayRemove(mAuth.getCurrentUser().getUid()));

//use either maps to add or remove user
db.collection("REFERENCE").document("mDocumentId")
                .update(addUserToArrayMap);
15
Anga Koko

これは、ドキュメント内の既存のコレクションに新しいアイテムを追加する方法です。

FirebaseFirestore.getInstance().collection("COLLECTION_NAME").document("DOCUMENT_ID").update("NAME_OF_COLLECTION_NODE",FieldValue.arrayUnion(NEW_VALUE_OF_ANY_TYPE))

詳細については、このリンクを確認してください: https://firebase.googleblog.com/2018/08/better-arrays-in-cloud-firestore.html

0
Manzur Alahi