2017-07-11 6 views
0

Firebaseへの接続にgolangとfiregoを使用しています。キーIDAgent: 7でデータStatusをONからOFFに更新したいとします。これは私のデータベース構造であるgolangの特定のキーでデータfirebaseを更新する方法は?

Image

仮定:私は子供のactive_chatを知りません。どのように私はactive_chat/-Koja8GuFplEN3kjbfPOどこIDAgent = 7

内のデータを更新することができ、私はこのコード

x := map[string]string{"Status": "OFF"} 
ref.OrderBy("IDAgent").EqualTo("7").Update(x) 

が、このコード間違ったクエリを試してみました。

答えて

0

firegoクライアントライブラリでFirebase docのように2通りの方法で対応できます。 firego README.mdに基づいて作成された解答。

注:構造の完全なパスを指定していないため、スクリーンショットに基づいて回答を作成しました。したがってJSONパスをそれに応じて更新してください。

アプローチ1:

f := firego.New("https://my-firebase-app.firebaseIO.com/active-chat/Koja8GuFpIEN3kjbfPO.json", nil) 

x := map[string]string{ 
    "Status": "OFF", 
} 
if err := f.Update(x); err != nil { 
    log.Fatal(err) 
} 

アプローチ2:私はIDAgent = 7のデータに更新することができますどのようにこの子(Koja8GuFpIEN3kjbfPO)を知らない場合

f := firego.New("https://my-firebase-app.firebaseIO.com", nil) 
f = f.Ref("/active-chat/Koja8GuFpIEN3kjbfPO.json") 

x := map[string]string{ 
    "Status": "OFF", 
} 
if err := f.Update(x); err != nil { 
    log.Fatal(err) 
} 
+0

? –

+0

更新することはできません。更新する子オブジェクトのキーパスを知る必要があります。私が答えた火元基地の文書を参照してください。 firegoクライアントは、値を更新するために内部的にjsonでHTTP PATCH要求を送信します。 – jeevatkm

+0

IDエージェント= 7のキーパスを取得できますか?それは不可能ですか? –

関連する問題