我正在嘗試接受用戶輸入並將其保存到數據庫中的集合中。我正在使用Node.js,mongodb,mongoose,express.js和ajax。如何從node.js中的module.exports發佈數據
我目前正試圖在用戶提交表單並接受輸入並將其保存到我的控制器文件中的module.exports內部的數據庫時發帖。
當所有的代碼都在server.js裏面的一個地方時,我能夠完成這項工作,但是試圖將我的代碼恰當地分開,我嘗試將它分離爲一個MVC系統。
我addProductGroup控制器看起來是這樣的:
//bring in models of data
var groups = require('../models').Groups;
var express = require('express');
var app = express();
//page functions go inside of module.exports
module.exports = {
index: function(req, res){
groups.find({}, function(err, groups){
if(err){
console.log(err);
}else{
res.render('addProductGroup',{title: 'Admin Add Group', adminloggedin: true, subtitle: 'Add a Group', underheaderp: ''});
app.post('/admin/addProductGroup', function(req,res){
var newGroupName = req.body.groupname;
new groupName({
groupName: req.body.groupname,
}).save(function(err, doc){
if(err){
res.json(err)
}
else {
res.render('addProductGroup',{title: 'Admin ASS Group', adminloggedin: true, subtitle: 'Add a Group', underheaderp: ''});
}
});
});
}
});
}
}
我的控制器是從我的收藏羣體得到我的數據,然後呈現在我的網頁。然後,當用戶發佈數據時,我試圖使其發佈數據,將其保存到我的數據庫,然後呈現相同的確切頁面。我在嵌套我的功能和操作順序方面發揮了很大的作用。
我groups.js型號:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var GroupsSchema = new Schema ({
groupName: String
});
module.exports = mongoose.model('groups', GroupsSchema);
var groupName = module.exports;
我使用的是車把模板我的看法。
那麼,在我的模塊中具有所有這些。導出一個可能的事情來完成? 我是否需要嘗試在我的module.exports之外編寫一個函數來完成此工作? 如果您需要查看我的其他文件,請讓我知道。 任何幫助,不勝感激。