問題タブ [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.
javascript - Firebase: クエリが null を返す
Firebase データベースへのクエリが機能しない理由がわかりません。私はこれが初めてで、「簡単なチュートリアル」に従ってデータを読み取ることにしました。JSON オブジェクトの書き込みはうまくいきました。それを見てとてもうれしかったです。一方、読書は私を怒らせ始めます。私がやりたかった唯一のことは、電子メールアドレスがいくつかの電子メールアドレスに等しい1つの「レコード」を読み取ることでした。これらは、ユーザー データベース内で一意であり、一意である必要があります。ユーザーを取得したら、push(); で自動的に生成された値であるユーザーの UID を使用して、他のことを行うことができます。したがって、これはデモであり、現時点ではセキュリティについては気にしません。新しく作成された Firebase データベースのデフォルトの読み取りおよび書き込み動作が適用されます。誰でもどこからでも完全な読み書きアクセス。
これは、動作するかどうかを確認するためのデモ サイトのコードです。
これは機能したデモコードでした
これは私のコードですが、null を返し、理由がわかりません
これは /Users の構造です
この構造を明確にするために、「UID」はユーザーの直下にあります。UID が展開されると、詳細が表示されます。
私のクエリの期待される結果は、名前が「Demo」で姓が「De Demoon」であるユーザーの 1 つの JSON オブジェクトです。
前もって感謝します
PS: 私は noSQL よりも SQL データベースに精通しています。「事前計算されたデータ」、つまりリレーショナル データベースに格納できるが、常に同じ結合を通過する必要があるデータがある場合、noSQL データベースがより便利で強力であることがわかるという事実に加えて、この最後のものを使用することを余儀なくされています。ある意味で。これらの結果を 1 回計算 (結合) し、その結果を noSQL データベースに書き込むと、不要な負荷が軽減され、よく要求されるデータセットがグループ化されるため、ルックアップが大幅に高速化されます。これについて間違っている場合は、私のビジョンも修正してください。
android - Androidのアダプタにリスナーを追加するFirebase
私はfirebaseが初めてで、頭を包み込もうとしています。ValueEventListener
作成されるたびにに登録するこのアダプターがあります。デタッチしない場合、電話を回転させてアダプターがフラグメント内で破棄/再構築されると、リスナーが追加されますか? または、この特定のリスナーが既に存在することを知るほど、firebase はスマートですか?
PS : このリスナーをonPause
使用してフラグメントのメソッドで登録解除しようとしましたが、firebase がキャッシュを削除しているように見えるため、フラグメントが回転した後、データを再度取得するのに時間がかかります。これは以前には発生しませんでした。
firebase - Firebase からランダムなユーザーを取得するには、完全なユーザー リストを取得する必要がありますか?
簡単にするために、次のような Firebase スキームがあるとします。
- ユーザーリスト
- ユーザー1
- 年齢 - 22
- 性別 - M
- ユーザー2
- 年齢 - 26
- 性別 - M
- ユーザー3
- 年齢 - 20
- 性別 - F
- ユーザー1
そのリストから、希望する年齢範囲と希望する性別のランダムなユーザーを取得したいとしましょう。現在、完全なユーザーリストを取得して、好みに合わないユーザーを除外し、クライアント側で一致するユーザーからランダムなユーザーを取得しています。これは少数のユーザーには問題なく機能しましたが、10,000 人のユーザーがいる場合はどうなるでしょうか?
これは非常に帯域幅が重いため、すべてのユーザーの完全なリストをダウンロードせずにこれを達成する方法はありますか? リレーショナル データベースでは where 句を使用するだけで簡単ですが、Firebase では使用できないため、完全なデータ リストを取得することを意味するすべてのクライアント側を実行する必要があると想定しています。帯域幅を最小限に抑えるための正しいアプローチは何ですか?
android - Firebase Java/Android createUser の失敗
Firebase のセキュリティ設定をテストできるように、Firebase ユーザーの作成と認証ルーチンの簡単なテストを作成しようとしています。コードはスムーズに実行されますが、コールバックは呼び出されず、Firebase 側でユーザーは作成されません。
print ステートメントを使用した以下の出力は次のとおりです。
Mac OS で Java アプリケーションとしてテストを実行しているだけですが、コードは Firebase クラスに firebase-client-android-2.2.3.jar ファイルを使用しています。後でこれは Android アプリに入りますが、今のところ IDE 内で実行できるようにしたいと考えています。経験豊富な Firebase コーダーからの洞察は大歓迎です。
android - サービス中の Firebase は、しばらくアプリをバックグラウンドのままにしておくと動作を停止します
私のアプリには、ソケット接続の確立を担当するサービス(サービスを拡張)があり、firebaseネイティブAndroidフレームワークを使用して着信ネットワークトラフィックをリッスンします。これがどのように見えるかです
ご覧のとおり、onStartCommand は START_NOT_STICKY を返すため、アプリを終了してもすぐにサービスが強制終了されることはありません (バックグラウンド - 中央ボタン)。
AppHelper の仕組みは次のとおりです。
各コントローラーは、firebase リスナーを対応するノードに登録します. 基本クラスは次のようになります.
それで、これが何が起こっているかです。アプリをバックグラウンドのままにして戻ってきても、すべてうまく機能します。他のアプリケーションを起動したり、デバイスをロックしたりすることもできます。戻ってきて、firebase は応答しません。アプリはクラッシュしませんが、何もしません。オフラインのままです。私は何かが収集されていると推測しています。しかし、それが何であるかはわかりません。
私はこれを試しました
また、firebase が切断されるたびに、ユーザーのフラグメントにメッセージを表示しました。10 分後にアプリに戻ると、このメッセージは表示されません (firebase は接続されていますか?)。
前もって感謝します!。
firebase - Firebase でユーザー独自のキーを設定する
質問はすでにここで行われていますが、AngularFire が API を更新したため、提供されたソリューションは使用できなくなりました。
私がやっていることは、電子メール/パスワードを使用して新しいユーザーのアカウントを作成し、そのユーザーを Firebase Authentication サービスに保存し、追加情報をデータベースに保存することです。
ただし、認証では、ユーザーは としてキーを持ちsimplelogin:29
、データでは、各ユーザーはハッシュされたキーを として持ちます-JpwB9oUVkeT_XRdiX2V
。私は彼らの鍵が同じである必要があります。
以下は、auth.$createUser に登録された新しいユーザーを作成し、ユーザー モデルに追加情報を保存するコードです。
認証とデータのユーザーのキーはまだ異なるため、機能しますが、本来の方法ではありません。