Abrufen der Datensatz mit der Abfrage, AngularFire
Ich bin mit FB, Backend-as-a-Service, für meine website, Anwendung, Programmierung in AngularJS.
Will ich mit db-Abfragen zum abrufen von Datensätzen, wie: WHERE name == 'The Legend Of Korra'
Habe ich array der TV-Serie in der FB-server, 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
}
}
}
Den code, den ich jetzt verwende, um diese aus der Arbeit:
$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;
};
Möchte ich diese Arbeit ohne mithilfe $firebaseArray
und forEach
. Wie soll ich es machen?
Nur so etwas wie dieses:
var seriesRef = new Firebase('http://<<firebaseapp>>.firebaseio.com/series');
var seriesObject = $firebaseObject(seriesRef.query({ name: seriesName }));
- Da die
series
ist eine Sammlung, warum sind Sie versuchen, um loszuwerden$firebaseArray
? Es scheint mir, wie, dass es die richtige Klasse zu verwenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe einige Vorschläge, die helfen können Sie hier:
.orderByChild()
.equalTo()
.$ref()
um den gewünschten Datensatz.Beispiel
seriesCollectionRef.orderByChild("name").equalTo(seriesName)
Avatar: The Last Airbender
' in der Eingabe, und klicken Sie auf "Suchen", erhalten Sie die dazu passenden Serie Objekt.$firebaseArray
service, um eine Methode für die Suche nach einer bestimmten Reihe von Namen.Fabriken
Controller
, Ohne Erweiterten Service
Hier ist, was eine controller-Funktion Aussehen würde, wenn Sie nicht mit den Fabriken:
Regeln
Hinweis: Es ist wichtig zu beachten, dass Sie sollten hinzufügen
".indexOn":"name"
auf Ihrer FB-Regeln, so dass die Abfrage effizient läuft. Etwa so:Hoffe, das hilft!