Firebaseのドキュメントに従って、ドキュメント参照を取得してから、CloudFirestoreでドキュメントデータを設定しています。
// Add a new document with a generated id.
var newCityRef = db.collection("cities").doc();
// later...
newCityRef.set(data);
ただし、私のアプリでは、さまざまなユーザーが何百ものドキュメントを同時に書き込むことができます。firebase-firestoreは、取得したドキュメント参照が次のユーザーに再利用されないようにしますか?
例:ユーザー1は、参照を取得するためにドキュメントを挿入しようとします。ユーザー2も同時にドキュメントを挿入しようとします。ユーザー1が操作を完了していないため、ユーザー2もユーザー1と同じ参照を取得する可能性はありますか?
ifirestireがこれを処理しない場合、これを行う正しい方法は何ですか?前もって感謝します。
取得するIDnewCityRef
はグローバルに一意であり、ユーザーまたは他のクライアントによって同時に作成されている数百または数千のドキュメントIDとは異なります。
ドキュメントには、このことを述べて呼び出すときにあなたが得る参照についての.doc()
パラメータを指定せずに機能を。
指定されたパスでコレクション内のドキュメントのDocumentReferenceを取得します。パスが指定されていない場合、自動的に生成された一意のIDが返されるDocumentReferenceに使用されます。
を呼び出すたびdb.collection("cities").doc()
に、ドキュメントへの一意の参照が提供されます。関数を2回呼び出し、取得したIDを比較することで、これを試すことができます。
IDの一意性がどのように約束されるかについてのリファレンスとして、FirebaseプッシュID用に公開された記事「一意の識別子を確保するための2 ^ 120の方法」を参照してください。Firestoreの自動生成されたIDは、同じ哲学に従います(JS SDKのソースコードはここにあります)。
各ユーザーのドキュメント参照は一意であり、ドキュメント化された制限まで同時にドキュメントを書き込むことができると言っても過言ではありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加