UnityでFirebase realtimedatabaseを使ったアプリを作成しています。
質問はrealTimeDatabase上のデータをクライアントアプリから
削除したいのですが削除するためのRemoveValueについてです。
realTimeDatabaseの格納は下記の通りです。
hogehoge.firebaseio ---test ----Ranking ---111 name taro mHoge 0 ---112 name jiro mHoge 1 ---113 name hanako mHoge 10
このデータの内mHogeが0のもののみ一斉に削除したく
どうやったらできるか色々調べたところRemoveValueでできるとのこと。
早速FirebaseDbTest.csスクリプトを作りました。
FirebaseDbTest.cs
using UnityEngine; using System; using System.Linq; using Firebase; using Firebase.Database; using Firebase.Unity.Editor; using UnityEngine.UI; using UnityEngine.SceneManagement; public class FirebaseDbTest : MonoBehaviour { DatabaseReference _FirebaseDB; //DBへ参照を持ったobjectを保持する。 Firebase.Auth.FirebaseUser _FirebaseUser; //Firebaseに接続した際の認証情報を保持する。 #pragma warning disable 649 // Start is called before the first frame update void Start(){ Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance; auth.SignInAnonymouslyAsync().ContinueWith(task => { if(task.IsCanceled){ Debug.LogError("SignInAnonymouslyAsync was canceled."); return; } if(task.IsFaulted){ Debug.LogError("SignInAnonymouslyAsync encountered an error:" + task.Exception); return; } _FirebaseUser = task.Result; Debug.LogFormat("User signed in succesfully: {0} ({1})", _FirebaseUser.DisplayName, _FirebaseUser.UserId); }); //Firebaseへの接続 FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://hogehoge.firebaseio.com/"); // _FirebaseDB = FirebaseDatabase.DefaultInstance.RootReference; _FirebaseDB = FirebaseDatabase.DefaultInstance.GetReference("test/Ranking"); } public void OnClickSetDB(){ _FirebaseDB.OrderByChild("mHoge").EqualTo(0).RemoveValue(); } }
しかし下記エラーが出ます。
Assets/Scripts/Rankings/FirebaseDbTest.cs(44,52): error CS1061: 'Query' does not contain a definition for 'RemoveValue' and no accessible extension method 'RemoveValue' accepting a first argument of type 'Query' could be found (are you missing a using directive or an assembly reference?)
「QueryにはRemoveValueはない」みたいなエラーが出ます。
ちなみにFirebaseの概要には削除にはRemoveValueを使えるよ見たいなことが
書いてあります。
https://firebase.google.com/docs/database/unity/save-data?hl=ja
namespaceがないのかと思いましたが
using Firebase;
using Firebase.Database;
using Firebase.Unity.Editor;
の3つがあります。
どこがおかしいのでしょうか?わかる方お教えください。
環境)
PC: mac
Unity2018.3.0f2
言語:C#
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/18 01:23
2020/05/18 05:29
2020/05/18 07:46
2020/05/19 08:25