gpt4 book ai didi

javascript - 选择 Firebase 和 Angular Fire 中 key=value 的所有内容

转载 作者:行者123 更新时间:2023-11-30 12:10:18 25 4
gpt4 key购买 nike

我有一个 firebase 数据库,如下所示:

Firebase Database Example

我将 courseID 变量存储在我的 $state.params.courseID 参数中,现在我只想拉取 Sections coursedID 匹配 $state.params.courseID 变量,然后将结果存储在一个数组中,这里是我目前尝试的方法:

    var sectionsRef = firebase.child('Sections');
sectionsRef
.orderByChild('courseID')
.on('value', function(snap) {
console.log(snap.val(), 'Sections');
console.log(snap.key(), 'Key');
});
$scope.sections = $firebaseArray(sectionsRef);

我真的很困惑如何在 Firebase 中进行这样的基本查询。

最佳答案

您可以将 equalTo() 方法与 orderByChild() 结合使用。

var sectionsRef = firebase.child('Sections');
sectionsRef
.orderByChild('courseID')
.equalTo('And now?');
$scope.sections = $firebaseArray(sectionsRef);

如果你想精巧地使用你的路由,你可以创建一个工厂,通过 courseID 检索类(class)并在路由器中解析它。

angular.module('app', ['firebase'])
.config(ApplicationConfig)
.constant('FBURL', 'https://<my-fb-app>.firebaseio.com/')
.service('RootRef', ['FBURL', Firebase)
.factory('Sections', Sections)
.controller('SectionsCtrl', SectionsCtrl);

function Sections(RootRef, $firebaseArray) {
var sectionRef = RootRef.child('sections');
return {
byCourseId: function byCourseId(value) {
sectionsRef
.orderByChild('courseID')
.equalTo(value);
return $firebaseArray(sectionsRef);
}
}
}

function ApplicationConfig($stateProvider) {
$stateProvider
.state("sections", {
controller: "SectionsCtrl",
templateUrl: "views/sections.html",
resolve: {
sections: function(Sections, $state) {
return Sections.byCourseId($state.params.courseid);
}
}
});
}

function SectionsCtrl($scope, sections) {
// This is the resolved data in your controller
$scope.sections = sections;
}

关于javascript - 选择 Firebase 和 Angular Fire 中 key=value 的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33989564/

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