私は更新したいノードを取得するために.queryEqualを使用してFirebaseを照会する機能を持っていますが、値をfalseに設定する方法はわかりません。ここで私が持っている機能は次のとおりです。単一の子を返して値を更新するためにクエリを実行します
func addrShipDefault() {
let ref = Router.addrShip.reference().child(self.userId)
let query = ref.queryOrdered(byChild: "isDefault").queryEqual(toValue: true)
query.setValue(false, "isDefault")
}
誰かが私が探していたノードのためのFirebaseを照会し、その値を更新する方法を教えすることはできますか?
私はref.updateChildValuesを使って他のアップデートを行っていますが、私は正確なパスを知っています。今回は、isDefaultがtrueに設定されているノードを検索して変更する必要があります。
希望はこれが理にかなっています!
は****ヘルプ
のためのDB構造今では、上記の例を使用して
{
"addr_01" : {
"address1" : "63 Park Ave",
"address2" : "Unit #2",
"city" : "Greenland",
"firstName" : "John",
"id" : "addr_01",
"isDefault" : true,
"lastName" : "Smith",
"state" : "MA",
"zipcode" : "01890"
},
"addr_02" : {
"address1" : "101 Lafayette Rd",
"address2" : "",
"city" : "Rye",
"firstName" : "Say It In 3D",
"id" : "addr_02",
"isDefault" : false,
"lastName" : "",
"state" : "NH",
"zipcode" : "03870"
}
}
にも存在することに注意して、あなたのfirebaseデシベルの構造を示すことはできますか? – 3stud1ant3
私はそのノードの構造を示すポストへのアップデートを追加しました。早速のお返事ありがとうございます!! – LilMoke
あなたは 'setValue'が辞書を受け入れると思うので、' query.setValue(false、 "isDefault") 'の代わりに' query.setValue(["isDefault":false) – 3stud1ant3