如何访问phoneNo = 222的整个对象并更新其lang和lat
var db = new Firebase("myFB/names");
names {
-K7VQBTELD4FQE1HL1U{
phoneNo: 111,
long: 126,
lat: 458
}
-K7WJGBTELD4FQ1EHL1U{
phoneNo: 222,
long: 547,
lat: 951
}
}
答案 0 :(得分:4)
Firebase查询需要按功能排序,然后您可以限制为equalTo()
等条件。
var ref = new Firebase("<my-firebase-app>/names");
var query = ref.orderyByChild('phoneNo').equalTo('222');
然后,您可以创建一个将检索该值的侦听器。该值将以DataSnapshot的形式返回,其中包含关联的引用。使用该引用,您可以处理所需的任何更新。
query.on('value', function(snap) {
var obj = snap.val();
var snapRef = snap.ref();
snapRef.update({
lat: 32.332325,
long: 124.2352352
});
});
但是,您无需reed对象进行更新。在您的情况下,您使用push-id
作为/names
的密钥。也许更简单的查找是phoneNo
密钥。然后你可以做以下事情:
var ref = new Firebase('https://my-firebase-app/names/222');
ref.update({
lat: 32.332325,
long: 124.2352352
});