私はこのウェブサイトで、Firebaseデータベースにデータを書き込むことに焦点を当てた多くの記事を読んできました。しかし、彼らの誰も私の問題を解決することはできませんでした。作成した子にautoIDを保存する方法は?
私はautoIDを持つオブジェクトを作成しましたが、後でそれを削除するにはオブジェクトを作成したautoIDが必要です。そのため、そのオブジェクトにautoIDを保存する必要があります。それだけではうまくいかない。保存(_差出人:任意)FUNC
@IBAction:{
let Town = Stadt.text
let surface = Untergrund.text
let size = Groesse.text
let numberof = AnzToreKoerbe.text
let laenge = longitudeLabel.text
let breite = latitudeLabel.text
let street = Strasse.text
let Art = Platzart.text
var PlatzID = ""
var upload : [String : AnyObject] = ["Platzart": Art as AnyObject,
"Laengengrad" : laenge as AnyObject,
"Breitengrad" : breite as AnyObject,
"Stadt" : Town as AnyObject,
"Strasse" : street as AnyObject,
"Untergrund" : surface as AnyObject,
"Groesse" : size as AnyObject,
"AnzahlToreKoerbe" : numberof as AnyObject,
"PlatzID" : PlatzID as AnyObject]
ref?.child("Sportplatz").childByAutoId().setValue(upload)
PlatzID = (ref?.key)!
ref?.updateChildValues(["PlatzID" : PlatzID as AnyObject])
私は記事のいくつかは推奨されているように、キーを保存しようとしましたし、その後更新しました。ここ
コードです子の "PlatzID"をそのキーで置き換えます。 新しいオブジェクトを作成すると、PlatzIDはまだ空です。
ありがとうございました。
あなたはFIRAuthクラスを使用して、アプリでユーザーを登録するたびに、補完ハンドラで 'authData'オブジェクトを取得します。このオブジェクトは一意のID e、g 'authData.uid'を含みます。このIDは、ユーザーの電子メールアドレスのハッシュ値を表します。このuid値は、ユーザがユーザとパスワードを使用してアプリケーションにログインした後、後でFirebaseデータベースの書き込み/読み取り/更新を行った後に取得できます。したがって、Firebase DBは次のようになります:ユーザ/ユーザがログインしたときに受け取ったユーザIDと、DBに保存している他のオブジェクト。 – bibscy
あなたの答えをありがとう。しかし私はFIRAuthでオブジェクトを作成しました。私は、自動IDを使用するか、私は保存することができます同様のものを作成したい。データベースからそれらを削除するには、私は必死にそのIDが必要です! – AlexVilla147
私が見ることができる唯一の解決策は、dbを照会し、すべてのオブジェクトを取得し、表示および削除するオブジェクトを選択することです。それ以外の場合は、あなたが知らないものを検索することはできません。 Firebaseツリーはkey:valueのペアのJSONオブジェクトです。あなたの鍵は生成されたautoIDなので、わからない鍵の価値を得ることはできません。このように考えると、背中の裏に2つのリンゴが隠れていて、1つは読まれていて、もう1つは緑です。緑色のリンゴをどうやって手に入れられますか? 1あなたは私にあなたに両手を見せてくれるように頼んでいます(あなたはdbを照会してキーを取得します:値のペア)2.あなたはどちらの手に緑色/赤色のものがあるかを知っています。あなたの遅い答えのために – bibscy