gpt4 book ai didi

javascript - 索引 firebase 对象

转载 作者:行者123 更新时间:2023-11-30 05:39:44 26 4
gpt4 key购买 nike

如何为传递到 Firebase 的对象数据创建索引?

我正在使用 AngularFire 库中的 .$add 函数来推送数据。这是我正在使用的过滤器和 Controller :

angular.module('bestDay', ["firebase"]).factory("GreatService", ["$firebase", function($firebase) {
var ref = new Firebase("https://quickjournal.firebaseIO.com/");
return $firebase(ref);
}])
.controller("bdctrl", ["$scope", "GreatService",
function($scope, greatService) {
$scope.theval = "Val " + Math.round(Math.random()*101);
$scope.daylist = greatService;
$scope.addDayGood = function() {
$scope.daylist.$add({
desc: $scope.newDay.desc,
date: $scope.newDay.date,
value: $scope.theval
});
$scope.newDay.desc = "";
$scope.newDay.date = "";
};
}
]);

如您所见,我试图在传递对象时使用唯一值,但每次都只生成相同的数字 (13)。如果不是很明显,我是半新编程。

我还希望能够编写一个函数来删除该索引的数据。由于我无法完成先前的任务,因此我可能也需要帮助才能完成此任务。我正在使用 angularjs 库编写代码。

我已经梳理了 firebase 和 angularfire 库文档,但没有结果。如果您能为我指出一个带有相关文档的 URL,将不胜感激。

最佳答案

Firebase 应该进行索引编制,因为如果您有多个用户访问同一数据,这会让事情变得更容易。

与你的问题相关,你应该查查https://www.firebase.com/docs/ordered-data.html用于在 Firebase 中使用列表。

更重要的是,提供的push() 函数可以轻松按时间顺序排序,如果您需要更复杂的排序,可以查看setWithPriority() 函数。

angular.module('bestDay', ["firebase"])
.controller("bdctrl", ['$scope', '$firebase',
function($scope,$firebase) {
var daysRef = new Firebase("https://quickjournal.firebaseIO.com/daylist/");
$scope.dayList = $firebase(daysRef);
$scope.dayLocationInFirebase = daysRef.push();
$scope.addDayGood = function(){
// Setdata to the generated location
$scope.dayLocationInFirebase.set({
desc: $scope.newDay.desc,
date: $scope.newDay.date
});

//holds reference to location the object was pushed to, for direct manipulation of the value. Pass it to the scope or an array if you need it for later
var pushedName = $scope.dayLocationInFirebase.name();
alert(pushedName);
$scope.newDay.desc = "";
$scope.newDay.date = "";
}


}
]);

关于javascript - 索引 firebase 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21509385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com