2017-06-13 65 views
0

我需要使用angularfire(AngularJS)項目添加到一個火力點集合

例如在火力地堡數據庫中的一個或多個集合追加的項目,如果我有:

users { 
    Marcelo: { 
     userid: 1 
    }, 
    Javier: { 
     userid: 2 
    } 
} 

我怎樣才能在每個集合中添加一個新項目,得到像這樣的東西?

users { 
    Marcelo: { 
     userid: 1 
     state: "enabled" 
    }, 
    Javier: { 
     userid: 2 
     state: "enabled" 
    } 
} 

回答

1

沒有具體AngularFire操作這一點。但是由於AngularFire只是建立在Firebase JavaScript SDK的基礎之上,因此您可以將其用於read the data and loop over it,然後使用update each item

一個小片段,讓你開始:

var ref = firebase.database().ref("users"); 
users.once("value", function(snapshot) { 
    snapshot.forEach(function(userSnapshot) { 
    userSnapshot.ref.update({ state: "enabled" }); 
    }); 
}); 
0

在此示例中,我們創建一個function插入param我們object

//object = users object 
//key = state or something else 
//value = true or something else 

var insertParam = function(object, key, value) { 
    for (var _key in object) { 
    object[_key][key] = value; 
    } 
} 

var app = angular.module("app", []); 
 

 
app.controller("ctrl", [ 
 
    "$scope", 
 
    function($scope) { 
 
    $scope.users = { 
 
     Marcelo: { 
 
     userid: 1 
 
     }, 
 
     Javier: { 
 
     userid: 2 
 
     } 
 
    } 
 

 

 
    var insertParam = function(object, key, value) { 
 
     for (var _key in object) { 
 
     object[_key][key] = value; 
 
     } 
 
    } 
 

 
    insertParam($scope.users, "state", true); 
 
    } 
 
]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    <ul> 
 
    <li ng-repeat="(key, option) in users"> 
 
     {{key}} 
 
     <ul> 
 
     <li><b>userId:</b> {{option.userid}}</li> 
 
     <li><b>state:</b> {{option.state}}</li> 
 
     </ul> 
 
    </li> 
 
    </ul> 
 
</div>

相關問題