問題タブ [firebase-realtime-database]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firebase - 重複するエントリをアトミックに防ぐ方法
Web アプリのユーザー データのデータ ストアとして firebase を使用することを考えています。私の現在の考えは、各ユーザーのデータを参照するキーとして参加したときのタイムスタンプを使用して、各ユーザーのデータを保存することです。この方式の利点は、一意の整数 ID をユーザーに割り当てる簡単な方法であり、ユーザーの時系列の並べ替えが簡単になることです。
ただし、欠点は、2 つのadd user
要求が同じデータで送信された場合、アプリが喜んで 2 つの別個のエントリを追加することです。これは理想的ではありません。物事をシャッフルすることはできますが (現在のスキームではなく、電子メールをキーとして使用し、データの結合によって優先順位を付ける必要があると考え始めています)、そうしたくないとします。データの重複を防ぐ方法はありますか?
素朴なアプローチは、おそらく次のようなことをするだけです:
しかし、これは間違いなく競合状態です。2 つの要求で、クエリを実行してデータベース内のユーザーを見つけられず、両方とも追加するのは簡単です。トランザクションでこれを行いたいのですが、Firebase トランザクション サポートがこのケースをカバーしていないようです。これを処理する方法はありますか?
firebase - Firebase は汎用データベースですか?
私は Firebase について読んで、少しの間それで遊んでいます。アイデア (BAAS) と実装は印象的で、Javascript でプログラミングしたので、実行可能な選択のようです。スケーリングやその他のサーバー側の問題に対処する必要がないため、さらに魅力的です。
私の質問は次のとおりです。一般的に言えば、 Firebase は平均的なデータベース アプリケーションの第一級のバックエンド候補ですか? 例: 課金、CRM、e コマース、ソーシャル、位置情報ベースなど。基本的なチャットや原子力発電所の監視など、極端に軽いものや重いものは含まれていません。
答えは明確なはい/いいえではないかもしれませんが、それは一般的なアプリケーション空間をサポートするために構築されたのでしょうか?それとも、リアルタイムの読み取り/書き込みデータ サービスとして単に目立つように構築されたのでしょうか?
経験と既存の本番アプリケーションに基づいた回答をいただければ幸いです。
ありがとう
javascript - Firechat 認証の問題
私は自分のウェブサイトでログイン システムを作成しており、そこでファイアチャットをセットアップしようとしています。そして、その #modal を削除して作る場所をどこにしようか迷っています
簡易ログイン スクリプト ファイルは既に削除されています。
firebase - Firebase データ、ドット、スラッシュの追加
firebase dbを使用しようとしましたが、firebase のヘルプや FAQ に記載されていない非常に重要な制限を見つけました。
最初の問題はその記号です: ドット '.' キーで禁止されている、
つまり、firebase reject (不明な理由で)次に:
このようにキーを追加しようとすると、キー「/」のスラッシュに関する 2 番目の問題
firebase では次のことがわかります。
それを(自動的に)解決する方法はありますか?すべての記号を含む文字列キーであるというフラグを設定できますか? もちろん、書き込み前と読み取り後に毎回データを解析/復元できますが...
ところで '。' '/' - firebase のすべての制限付きシンボル ?
firebase - Firebase は、ユーザーが保存できるレコードの数を制限します
コメント システムを使用しているが、ブログ投稿で同じユーザーからのコメントが 10 件を超えないようにしたいとします。次のデータスキーマに基づいてそれを行うにはどうすればよいですか:
セキュリティルールを微調整する必要があることはわかっていますが、ユーザーが投稿ごとまたは合計ごとに10を超えるコメントを投稿しないように制限する方法を見つけることができないようです.
そのようなルールの例はありますか?
android - Androidにfirebaseの子が存在するかどうか
私の質問は、ここに投稿された質問に似ています
- ユーザー テーブルに対して呼び出される Firebase パスがあります。たとえば、appname/users とします。
- ユーザーが存在するかどうかを確認したい。
- 参照を取得します: Firebase users = ref.child('users');
提供されたjavascriptの回答に似た同等のJavaコードがあるかどうか疑問に思っています。私が使用している Firebase-client の最新バージョンでは、子が存在するかどうかを確認するために呼び出されたメソッド once() を見つけることができないため、これを尋ねます。
編集1:
私は開発に Eclipse IDE を使用しており、Web ページで指定された場所から firebase jar をダウンロードしました。いくつかのメソッドが指定されていないため、いくつかのメソッドを使用できません。
メソッド once()/ hasChild() を使用しようとすると、IDE はこれらのメソッドが使用可能であることを示しません。それが私の最後だけなのか、それとも別のjarファイルをダウンロードして使用する必要があるのか わかりません。
助言がありますか?
java - Firebase Java のすべてのリスナーを削除します
ドキュメントに「// Java では、各リスナーを明示的に削除する必要がある」と記載されていることを知っています。しかし問題がある。
アプリをデプロイします - リスナーを追加します (ポインターを保存します)。しかし、アプリを再デプロイすると、リスナーはまだ存在しますが、リスナーへのポインターがないため、リスナーを削除できません。
すべてのリスナーを削除する方法はありますか? (サーバーの再起動なし)
javascript - Firebase:グローバルインデックスカウンターを取得して設定する方法は?
このコードがリアルタイムで多くの人々に分散してどの程度うまく機能するかを分析するのを手伝ってくれる人はいますか? すべてのユーザーがリアルタイム グラフを更新し、それに値を送信できるようにしたいと考えています。
各クライアントには、ローカル カウンター変数があります。
値の送信:
子がfirebaseに追加されるのをリッスンする:
問題はおそらくカウントのローカル変数にあり、現在、ほとんどのユースケースでグラフは正常に機能しますが、多くの人がデータの送信を開始すると、カウントが順不同になることがあります
firebase のトランザクションを調べたところ、firebase のtotal
カウントを正確に保つことができましたが、これがクライアントがカウンターを正しくインクリメントするのにどのように役立つかわかりません。
javascript - firebaseでSQLの「LIKE」操作を実行するには?
データストレージにfirebaseを使用しています。データ構造は次のようになります。
このデータに対してオートコンプリート操作を実行したいのですが、通常は次のようにクエリを記述します。
たとえば、私の状況では、ユーザーが「cho」と入力した場合、結果として「chocolate」と「chochocho」の両方を表示する必要があります。すべてのデータを「製品」ブロックの下に置き、クライアントでクエリを実行することを考えましたが、これには大きなデータベースには多くのメモリが必要になる場合があります。では、SQL LIKE 操作を実行するにはどうすればよいですか?
ありがとう
firebase - Firebase で 2 レベル以上の非正規化データを結合する方法
シナリオは次のとおりです。トピックのリストがあり、各トピックには投稿が含まれており、各投稿はユーザーのリストによって「いいね」されました。したがって、私のデータは次のようになります。
私は、Firebase.util ( http://firebase.github.io/firebase-util ) を使用してトピックのすべての投稿を取得する方法を知っていると思います:
しかし今は、各投稿に、その投稿を気に入ったユーザーの名前を含めたいと考えています。どうやってそれを行うのですか?
おそらく何も変わらないでしょうが、これはすべて AngularFire で起こっています。