2017-08-16 3 views
0

私は新しいプログラマーで、firebaseに苦しんでいます... firebaseのウェブサイトのコンテンツは、経験のない人には十分ではありません。 ...私は以下のコードを使用して、私の最後のレジスタを得ることができることがわかり、私は、既存のノード(-KrgRoE_GoZGoMZk_bxl)で新しい情報を追加しようとしているが、私は単にそれを行うことはできません。既存のノードに新しい情報を簡単に追加する方法(firebase + Swift 3)

ref = FIRDatabase.database().reference() 
let last = ref?.child("CAD").child((FIRAuth.auth()?.currentUser?.uid)!) 

     last!.observeSingleEvent(of: .value, with: { (snapshot) in 
      print(snapshot.children.allObjects.last) 

をfirebaseデータを参照してください。 :

tIFgcSHDWAYguUJ5jNPYhfuqT903 
    KrgRoE_GoZGoMZk_bxl 
{ 
    "COORDENADAS" : "(-25.462915289401252, -49.290945083371739)", 
    "DATA" : "16/08/2017", 
    "HORA" : "16:9:23", 
    "LOCALIZACAO" : "Rua Professor Basílio Ovídio da Costa, 19", 
    "PERIODO" : "1 Hora", 
    "VALOR" : 3 
} 
+0

JSONあなたの質問の木。実際のJSONをテキストとして置き換えてください。このテキストは[Firebaseデータベースコンソール](https://console.firebase.google.com/project/_/database/data/)の[Export JSON]リンクをクリックすることで簡単に取得できます。 。 JSONをテキストとして検索可能にすることで、実際のデータを使ってテストしたり、答えに使用したりすることができます。一般的には、これは良いことです。 –

答えて

0

documentationによると、あなたがするsetValueを使用します新しいデータを追加し、updateChildValuesを使用してデータを変更します。また、現在のユーザーの下にあるすべてのデータの値を調べる代わりに、最後に返された子の数を制限するクエリを使用できます。子ノードに何を追加しようとしているのか正確にはわかりませんが、子ノードにアクセスして新しいデータを追加すると、次のようになります。

ref = FIRDatabase.database().reference() 
let last = ref?.child("CAD").child((FIRAuth.auth()?.currentUser?.uid)!) 

last!.queryLimited(toLast: 1).observeSingleEvent(of: .value, with: { (snapshot) in 
    print(snapshot.value) 
    let value = snapshot.value as? NSDictionary 
    // Do whatever you need to do with value 

    let key = snapshot.key 

    last.child(key).setValue(["newData": newData]) // add new key/value pair 
}) 
+0

ジーン、あなたの答えについてのコメントを追加するには答えが必要でした。ありがとう –

関連する問題