【发布时间】:2013-11-14 12:14:54
【问题描述】:
我现在正在使用 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?
我还有一个名为search.js的文件,如下:
exports.index = function(req, res) {
res.render("search", {
}, function(err, res){
res.render("index", {
content: res
});
});
}
最后,我也想听听您是否应该先将数据库中的数据保存到任何文件并通过打开和关闭文件来使用它,或者我应该在请求获取数据时直接连接到数据库,在性能和安全问题,(数据库中的数据每天都会更新,所以我必须运行一个脚本来自动重新创建服务文件)。
谢谢。
【问题讨论】:
-
我回答了你的第一个问题,但第二个问题我不明白你需要打开什么文件。
-
谢谢。我在
saving to a file中的意思如下:1)从数据库中获取数据并将其结果保存到文件中。 2) 在searchController.js中加载保存的文件,并将其内容映射到$scope.list变量的值。 3) 最后,从search.ejs文件中访问变量。
标签: javascript mysql node.js mongodb angularjs