Node.js 角度控制器的Mongoose访问
我尝试在node/angular中做一个简单的服务器/客户机,将mongoose连接到MongoDB数据库 我的结构:Node.js 角度控制器的Mongoose访问,node.js,angular,mongoose,Node.js,Angular,Mongoose,我尝试在node/angular中做一个简单的服务器/客户机,将mongoose连接到MongoDB数据库 我的结构: app/ app.js (mongoose connect / schema /models ) bower.json components/ app.module.js app.routes.js artistes/ addArtist.html addArtistController.
app/
app.js (mongoose connect / schema /models )
bower.json
components/
app.module.js
app.routes.js
artistes/
addArtist.html
addArtistController.js
home/ (html controller service)
shared/ (header & footer html)
assets/ (css/js/img/fonts)
bower_components/
index.html (main index)
data/ (mongo db)
mongod* (script to launch mongodo)
package.json (npm start)
routes/
bin/
models/ (empty)
node_modules/
server.js
我想将所有mongoose逻辑分组到server.js中,然后当它工作时,我将把模型放在模型目录中,但不是现在
我的服务器获得了mongoose连接、模式和模型创建
一个保存函数和一个查找函数。
但我对此完全迷失了方向:
- 在我的addArtistController中,如何从server.js访问我的保存和查找功能?我不能要求('mongoose'),因为require不是为浏览器端设计的。任何例子都可以
$http
我真的不知道如何从服务器端做到这一点,因为您不共享server.js,但假设您的find
函数已经有了一个端点,该端点将返回您的MongoDB数据(我建议使用express Router),在前端(控制器、服务等),您可以尝试以下操作:
// Angular v1
angular.module('addArtistController')
.controller('AddArtist', ['$scope', '$http', function ($scope, $http) {
$http.get("/find").then(function (data) {
$scope.data = data; // data is now available in the scope
}, function (err) {
console.log(err)
});
}])
我还不熟悉Angular的最新版本,但概念仍然是一样的
// Angular v4
return new Promise(resolve => {
this.http.get('/find')
.map(res => res.json())
.subscribe(data => {
this.data = data;
resolve(this.data);
});
});