2017-06-13 66 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>

相关问题