現在、Node.js、AngularJS、および MySQL または MongoDB のいずれかを使用して Web アプリを構築しています。しかし、データベースから取得したデータセットを含むコントローラで AngularJS を使おうとすると、コードをどこに記述すればよいかわかりません...
私は現在、次のコードを書いています(search.ejs、完全な部分(html
タグなど)を含まない):
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
<script src="/javascripts/searchController.js"></script>
<div ng-app class="row" ng-controller="searchCtrl">
<input ng-model="query">
<ul class="search">
<li ng-repeat="i in list" | filter:query">
<a href="{{i.url}}">{{i.name}}</a>
</li>
</ul>
</div>
そして、データベースからデータを取得して使用したいと考えてlist
います。だからここにsearchController.js
ファイルがあります:
function searchCtrl($scope){
$scope.list = [
{
'name': 'Michael',
'url': 'mic'
},
{
'name': 'Bob',
'url': 'bob'
}
]
}
ただし、私がやりたいことは、$scope.list
手動で変数にデータを書き出す代わりに、MySQL または MongoDB のデータベースのデータを使用することです。(そして、MySQL は私の好みの言語ですが、この場合は MongoDB の方が優れているように思えます。) では、どうすれば DB に接続できますか?
という名前のファイルも 1 つありますsearch.js
。これは次のようなものです。
exports.index = function(req, res) {
res.render("search", {
}, function(err, res){
res.render("index", {
content: res
});
});
}
最後に、データベースから任意のファイルにデータを保存し、ファイルを開いたり閉じたりして使用するか、データをフェッチするリクエストが来るたびにデータベースに直接接続するかを、パフォーマンスの観点からお聞きしたいと思います。セキュリティの問題(データベース内のデータは毎日更新されるため、スクリプトを実行して、提供されたファイルを自動的に再作成する必要があります)。
ありがとう。