我将Firebase,后端即服务用于我的网站应用程序,并通过AngularJS进行编程。
我想使用数据库查询来获取记录,例如: WHERE name == 'The Legend Of Korra'
我在Firebase服务器中具有电视连续剧数组 JSON CODE :
{
"series" : {
"-JkqSvwyDw5F9DvGUu6b" : {
"createdAt" : 1426842959884,
"creators" : "Michael Dante DiMartino,Bryan Konietzko",
"description" : "The series follows the adventures of protagonist twelve-year-old Aang and his friends, who must bring peace and unity to the world by ending the Fire Lord's war against the other three nations.",
"episode_reset" : true,
"genres" : "Action,Adventure,Fantasy,Comedy-drama",
"keywords" : "avatar,the last airbender",
"name" : "Avatar: The Last Airbender",
"official_website" : "http://nicktoons.nick.com/shows/avatar",
"publish_date" : "2005-02-21",
"updatedAt" : 1426843055127
}
}
}
我现在使用的代码来解决这个问题:
$scope.isSeriesValid = function(seriesName) {
var seriesRef = new Firebase('http://<<firebaseapp>>.firebaseio.com/series');
var seriesCollection = $firebaseArray(seriesRef);
seriesCollection.$loaded(function() {
angular.forEach(seriesCollection, function(seriesObject, index) {
if(seriesObject.name == seriesName)
return true;
});
});
return false;
};
我想在不使用$firebaseArray
和的情况下解决这个问题forEach
。我应该怎么做?
就像这样:
var seriesRef = new Firebase('http://<<firebaseapp>>.firebaseio.com/series');
var seriesObject = $firebaseObject(seriesRef.query({ name: seriesName }));
我有一些建议可能会帮助您:
.orderByChild()
.equalTo()
.$ref()
来获取所需的记录。seriesCollectionRef.orderByChild("name").equalTo(seriesName)
Avatar: The Last Airbender
”并单击“查找”,则将获得匹配的系列对象。$firebaseArray
服务,以包括一种用于通过名称查找特定系列的方法。
app.factory('SeriesFactory', function(SeriesArrayFactory, fbUrl){
return function(){
var ref = new Firebase(fbUrl+'/series');
return new SeriesArrayFactory(ref);
}
});
app.factory('SeriesArrayFactory', function($firebaseArray, $q){
return $firebaseArray.$extend({
findSeries:function(seriesName){
var deferred = $q.defer();
// query by 'name'
this.$ref().orderByChild("name").equalTo(seriesName).once("value", function(dataSnapshot){
if(dataSnapshot.exists()){
deferred.resolve(dataSnapshot.val());
} else {
deferred.reject("Not found.");
}
});
return deferred.promise;
}
});
});
app.controller('HomeController',function($scope, SeriesFactory, fbUrl) {
$scope.seriesName = '';
$scope.findSeries = function() {
console.log("Finding series with name:'",$scope.seriesName,"'");
var seriesCollection = new SeriesFactory();
seriesCollection.findSeries($scope.seriesName).then(function(data){
console.log("Found",data);
$scope.series = data;
}).catch(function(error){
console.warn(error);
});
};
});
如果您不使用工厂,则控制器功能如下所示:
$scope.findSeriesWithoutFactory = function() {
var seriesRef = new Firebase(fbUrl+'/series');
var seriesCollection = $firebaseArray(seriesRef);
seriesCollection.$ref().orderByChild("name").equalTo($scope.seriesName).once("value", function(dataSnapshot){
var series = dataSnapshot.val();
if(dataSnapshot.exists()){
console.log("Found", series);
$scope.series = series;
} else {
console.warn("Not found.");
}
});
};
注意:请 务必注意,您应该添加".indexOn":"name"
Firebase规则,以使查询高效运行。像这样:
"yourfirebaseapp": {
".read": "...",
".write": "...",
"series": {
".indexOn": "name"
}
}
问题内容: 文件夹中的文档很少,我想检查该文件夹中的所有文档是否都已编制索引。为此,对于该文件夹中的每个文档名称,我想循环遍历ES中索引的文档并进行比较。所以我想检索所有文档。 有喜欢同一个问题的其他几个可能的重复[检索AElasticSearch)NEST查询所有记录,并在此处输入链接的描述,但他们没有帮助我的文档已经从那个时候改变了。(有什么关于扫描当前文档中) 我尝试使用。但是根据文档,将检
考虑到Laravel指南中的基本示例有许多通过关系,我试图直接查询雄辩的、帖子类型为100的国家(只是一个例子)。 type_id是我的特例... 因此,我在country模型中创建了一个关系,通过用户创建了与帖子的关系。我想要实现的结果是列出一个国家,以及每个国家内由该国用户创建的帖子。 我能够以其他方式复制我想要实现的结果,但是我想知道为什么下面雄辩的查询没有返回预期的结果: 查询的返回是几个
问题内容: 我想构建一个由Instagram照片驱动的小型“即时图片搜索”应用。就像Google Instant,您可以在其中开始键入内容,并且在键入更多字母时显示/更新结果。 您可以看到由Google图片提供支持的实时演示应用。我知道使用大型引擎(Google,Yahoo!,Bing)是可行的,但我不知道Instagram是否允许这样做。任何熟悉API的人都可以提供帮助吗? 如果无法通过有意义的
本文向大家介绍Android 检索查询参数,包括了Android 检索查询参数的使用技巧和注意事项,需要的朋友参考一下 示例 如果用户点击一个linkto http://www.example.com/map?param1=FOO¶m2=BAR,那么param1这里将有一个价值"FOO"和param2将有一个价值"BAR"。
问题内容: 我有一张桌子,上面有很多日期的记录。我想执行一个查询,该查询仅返回落在该日期月份的最后一天的记录。就像是: 除非这行不通,否则参数的右边应该是返回正确比较的月份的最后一天。 基本上有一种简洁的方法可以进行这种比较吗?等效于四分之一的终端也将非常有帮助,但无疑会更加复杂。 编辑: 本质上,我想检查给定的日期是否是它所属的月份(或季度)中的最后一个。如果是,请返回该记录。这将涉及一些函数来
我在谷歌周围看了一段时间,但没有工作。有谁能帮我解决这个问题吗?