Mongoデータベースにクエリを行い、DOMにレンダリングできるように指定された条件に一致するすべてのアイテムを返す必要があるアプリがあります。私はすべての情報が正しく格納されていることを確認したので、郵便配達員と私のアプリを通してローカルにデータベースをテストしました。私の問題は、私は完全にクエリが私のアプリ内で行われるべきであるか分からないということです。MongoDB with Angular App
ユーザはドロップダウンを使用してビジネスのタイプを指定します。これが完了すると、このタイプに一致するすべてのビジネスがDOMに入力されます。私の工場で
angular.module('UserCtrl', [])
.controller('UserSelectController', function($scope, queryFactory) {
//list out all of our specialty types of food in the below array -- this will populate in our dropdown selection for our user_BusDirectory.html view
$scope.listOfTypes = ['Type 1', 'Type 2', 'Type 3', 'Type 4', 'Type 5', 'Type 6', 'Type 7', 'Type 8'];
//invoke function to call a GET request to get business with that type of specialty
$scope.getBusiness = function(){
console.log('You selected: ', $scope.selectedType);
queryFactory.queryType($scope.selectedType);
};
});
次常駐:
これは、ユーザーのコントローラである:私はMongoデータベースbusinesses
内
angular.module('queryService', [])
.factory('queryFactory', function($http){
var queryType = function(type){
console.log('What is the type that has been passed in: ',type)
var query = businesses.find({specialty: type}).exec(function(err, businessMatches){
if(err){
console.log(err);
return res.send({ errorMessage : err})
}else{
res.json(businessMatches);
}
});
console.log("Did query recieve all the types? :", query);
}
return {
queryType: queryType
}
});
が名れる以下は、私がこれまで持っているコードです。私が照会したいコレクション。私は私のアプローチが間違っていると信じられるようになる関数をテストしようとするとReferenceError: businesses is not defined
を得続けます。
APIハンドラに「getCompanies」が必要ですか?私は通常、私はそこに匿名の機能しか見ないので尋ねる。 – DLF85
私はこの質問を読んだとき、 '企業'、 'getCompanies'などの関連性は見当たりませんし、' api/companies?type = ''というエンドポイントは間違っています! – davidkonrad
DLF85、そうです、そこには機能がないはずです。私は後でルートを追加し、それを忘れてしまいました。私はまた、あなたのコードに合うように、「企業」を「企業」に改名しました。 – MaxKroshka