/ / Czy mogę dodać nowe dane, gdy pobieram moje dane jako angularfire $ firebaseObject do mojej bazy danych lub tylko zmieniam / usuwam dane? - angularjs, firebase, angularfire

Czy mogę dodać nowe dane podczas pobierania moich danych jako angularfire $ firebaseObject do mojej bazy danych lub tylko zmieniać / usuwać dane? - angularjs, firebase, angularfire

Uczę się Angularfire i mam dużopytania, ale jeden, który naprawdę mnie dręczy, jest następujący. Czytałem w wielu różnych serwisach (w tym Firebase.com) o tym, jak pobierać dane z bazy Firebase i sprawiają, że wszystkie robią różnicę między zwrotem danych z powrotem jako tablicy ($ firebaseArray) lub obiektu ($ firebaseObject). Obiekty są świetne do wiązania w trzech kierunkach, ale co jeśli chcę dodać nowe rzeczy do mojej bazy danych?

ZA $firebaseArray ma $add metoda, ale a $firebaseObject nie znaczy więc, o co tu chodzi i kiedy go używać $firebaseArray vs. $firebaseObject. Czy istnieje metoda dodawania nowych danych za pomocą $firebaseObject i czy ja po prostu tego nie widzę?

Czy ktoś może dać mi odrobinę przejrzystości. Używam angularfire 1.0.0. Z góry dziękuję!

Odpowiedzi:

3 dla odpowiedzi № 1

Jeśli chcesz zmodyfikować istniejące obiekty, użyj $firebaseObject, posługiwać się $firebaseArray dodawać nowe obiekty do tablicy obiektów,

Przykład: Aby uzyskać wszystkie zamówienia od klienta, a następnie uzyskać konkretne zamówienie

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