使用 angularJS 更新 Firebase 中的特定记录

Update a specific record in Firebase using angularJS

如何访问 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
  }
}

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
  });
});

但是,您不需要读取对象来更新它。在您的情况下,您使用 push-id 作为 /names。也许更容易查找的是 phoneNo 键。然后您可以执行以下操作:

var ref = new Firebase('https://my-firebase-app/names/222');
ref.update({
  lat: 32.332325,
  long: 124.2352352
});