質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2533閲覧

Firebase | Realtime Databaseに指定したキーが存在するか確認したい。

Yukirr4_

総合スコア728

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/03/20 07:08

現在Firebaseを使ってデータの管理を行っているのですが、キーが存在しているかだけを確認したいです。
FirebaseのRealtime Databaseを使用しています。
Unity2019, C#です。
データの登録、取得はできる状態です。

下のコードはチュートリアルのものです。

C#

1public void GetUsers(){ 2 Firebase.Database.FirebaseDatabase dbInstance = Firebase.Database.FirebaseDatabase.DefaultInstance; 3 dbInstance.GetReference("users").GetValueAsync().ContinueWith(task => { 4 if (task.IsFaulted) { 5 // Handle the error... 6 } 7 else if (task.IsCompleted) { 8 DataSnapshot snapshot = task.Result; 9 foreach ( DataSnapshot user in snapshot.Children){ 10 IDictionary dictUser = (IDictionary)user.Value; 11 Debug.Log ("" + dictUser["email"] + " - " + dictUser["password"]); 12 } 13 } 14 }); 15

コードではtaskの状態で処理を分岐させていますが「成功」「失敗」のみです。

なぜ失敗したか(キーが存在しない等)はどのように取得すればいいのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

この質問の答えが参考になると思います.OrderByKeyを使えばいいです.公式doc

投稿2020/03/20 07:21

dark-eater-kei

総合スコア1248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yukirr4_

2020/03/22 08:00 編集

回答ありがとうございます。コメント遅れて申し訳ありません。 Firebaseを触り始めたばかりなのでよくわかっていません... 例えば"Users"キー内の"abcde"キーがあるかどうかを確認するには具体的に何をどうすればいいのでしょうか。 OrderByKeyは昇順に並び替えるだけで、存在確認に使える理由がわかっていません。 お時間があればもう少し教えていただけると助かります。 *上のコメント2つは削除要請中です
dark-eater-kei

2020/03/22 06:49

ドキュメントの存在確認ではなく、ドキュメント内のキーの存在確認をするということですか?
Yukirr4_

2020/03/22 08:01 編集

値を知りたいのではなく、キーがあるかないかを取得したいです。 例えばプレイヤーが初めてログインしたときユーザーのデータ(名前やAuthによるuIDなど)をサーバーに保存しますが、二回目以降かを確認するためにそのuIDの名前のキーが存在するかを確認したいです。 分かりづらくてすみません
_Beginner

2020/03/22 13:55

よくわかりませんが、 僕が使っているのはFirebaseのRealtime DatabaseでCloud Firestoreとは別物な気がします。
_Beginner

2020/03/23 08:14 編集

ありがとうございます。試してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問