我正在尝试理解MEAN堆栈中的通信。
我写了以下几段代码,使用yeoman fullstack生成器搭建应用程序:
- <
- 猫鼬模式/gh>
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var StuffSchema = new Schema({
name: String,
});
mongoose.model('Stuff', StuffSchema);
- 保存在mongodb上的代码
'use strict';
var mongoose = require('mongoose'),
Stuff = mongoose.model('Stuff');
exports.create = function(req, res, next){
var newStuff = new Stuff(req.body);
newStuff.save(function(err){
if (err) return res.json(400, err);
})
res.send(newStuff);
}
- 节点路径
'use strict'
var stuff = require('./controllers/stuff'),
module.exports = function(app) {
app.route('/api/stuffs')
.post(stuff.create);
}
- <
- 角服务/gh>
'use strict';
angular.module('ngStuff').factory('Stuff', function ($resource) {
return $resource('/api/stuffs/');
});
- <
- 角控制器/gh>
'use strict';
angular.module('ngStuff').controller('StuffCtrl', function($scope, $location, Stuff){
$scope.stuff = {};
$scope.add = function(){
var stuff = new Stuff({name: $scope.stuff.name});
stuff.$save(function(response){
$location.path('#/');
});
$scope.stuff.name = "";
}
});
现在,我能够在mongodb上保存文档,但位置不改变。这是连接所有东西的正确方法吗?有更好的方法吗?我应该把save函数写在angular服务中,而不是angular控制器中吗?
我将从平均数开始。IO和搭建一个新的包,并将其作为学习/理解堆栈通信的一种方式。基本上你会有一个完整的工作平均项目,你可以把它作为学习过程的一部分。
您还可以查看文章是如何创建的,如何将数据保存到mongodb