当我将我的数据作为 angularfire $firebaseObject 检索到我的数据库或仅 change/remove 数据时,我可以添加新数据吗?

Can I add new data when I retrieve my data as an angularfire $firebaseObject to my database or only change/remove data?

我正在学习 Angularfire,我有很多问题,但真正困扰我的是以下问题。我在很多不同的站点(包括 Firebase.com)上阅读了有关如何从 firebase 检索数据的信息,它们使将数据作为数组($firebaseArray)或对象($firebaseObject)返回之间有所不同).对象非常适合三向绑定,但如果我想向我的数据库添加新内容怎么办?

$firebaseArray 有一个 $add 方法,但是 $firebaseObject 没有。那么这里的交易是什么以及何时使用 $firebaseArray$firebaseObject。或者是否有一种方法可以使用 $firebaseObject 添加新数据,而我只是没有看到它?

谁能给我讲清楚一点。我正在使用 angularfire 1.0.0。提前致谢!

当你想修改现有对象时,使用$firebaseObject,使用$firebaseArray将新对象添加到对象数组,

示例:获取客户​​的所有订单,然后获取特定订单

AM.value("DB_URL","https://myfirebase.firebaseio.com/");    
AM.factory("DB", ["DB_URL",    
  function(DB_URL) {  
    var db = new Firebase(DB_URL);    
    return db;
  }  
]);  
AM.factory("Orders", ["$firebaseArray", "DB","Auth","$firebaseObject","$log",  
  function($firebaseArray,DB,Auth,$firebaseObject,$log) {  
    $log.debug("Fetching Orders");  
    var authData = Auth.$getAuth();  
    var ordersRef = DB.child("users/" + authData.uid+"/orders/");  
    $log.debug("ordersRef = " + ordersRef);  
    var Orders = $firebaseArray(ordersRef);

  return {  
    getOrders: function() {  
      return Orders;  
    },  

    getOrder: function(orderId) {  
       $log.debug("Order for id: " + orderId);  
       var orderRef = ordersRef.child(orderId);  
       $log.debug("orderRef = " + orderRef);  
       var Order = $firebaseObject(orderRef); 
       return Order;  
    }  
  };
 }
]);