Ich baue jetzt eine Web-App mit Node.js, AngularJS und entweder MySQL oder MongoDB. Allerdings, wenn ich versuchte, AngularJS mit einem Controller zu verwenden, die Datensätze aus der Datenbank geholt enthält, frage ich mich, wo ich sollte den Code schreiben in ...Datenbank in AngularJS verwenden - wo sollte ich DB-Verbindungscode schreiben?
ich jetzt in den folgenden Code (search.ejs schreiben, ohne Voll Teil (wie html
-Tag)):
<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>
und ich möchte in list
von Daten in der Datenbank holen und nutzen. Also hier ist searchController.js
Datei:
function searchCtrl($scope){
$scope.list = [
{
'name': 'Michael',
'url': 'mic'
},
{
'name': 'Bob',
'url': 'bob'
}
]
}
Aber was ich tun möchte, ist anstelle des Schreibens von Daten in der $scope.list
Variable manuell, Daten in Datenbank entweder MySQL oder MongoDB. (Und MySQL ist meine bevorzugte Sprache, aber MongoDB scheint in diesem Fall besser zu sein, denke ich.) Wie kann ich also eine Verbindung zur DB herstellen?
Ich habe auch eine Datei mit dem Namen search.js
, die denjenigen finden:
exports.index = function(req, res) {
res.render("search", {
}, function(err, res){
res.render("index", {
content: res
});
});
}
Und schließlich mag ich auch von Ihnen hören, ob ich ersten Daten aus der Datenbank zu beliebiger Datei speichern soll und es verwenden, um Öffnen und Schließen der Datei, oder ich sollte direkt mit der Datenbank verbinden, wann immer die Anfrage Daten abholen soll, in Bezug auf Leistung und Sicherheitsprobleme (die Daten in der Datenbank würden jeden Tag aktualisiert werden, also muss ich ein Skript ausführen, um automatisch neu zu erstellen die servierte Datei sowieso).
Danke.
Ich beantwortete Ihre erste Frage, aber für die zweite habe ich nicht verstanden, was ist die Datei, die Sie öffnen müssen. –
Danke. Was ich in "Speichern in eine Datei" meinte, ist wie folgt: 1) Daten von der DB holen und ihr Ergebnis in einer Datei speichern. 2) Laden Sie die gespeicherte Datei in 'searchController.js' und ordnen Sie deren Inhalt dem Wert der Variable' $ scope.list' zu.3) Schließlich, Zugriff auf die Variable aus der 'search.ejs' Datei. – Blaszard