Ich versuche, eine Benutzereingabe zu nehmen und sie zu einer Ansammlung in meiner Datenbank zu speichern. Ich benutze Node.js, mongodb, mongoose, express.js und ajax.Wie man Daten von module.exports in node.js schreibt
Ich versuche derzeit, die Post zu nehmen, wenn der Benutzer das Formular übergibt und die Eingabe und speichern Sie es in meiner Datenbank aus meinem Modul.exports in meiner Controller-Datei.
Ich konnte diese Arbeit machen, wenn der gesamte Code an einer Stelle innerhalb der server.js war, aber in einem Versuch, meinen Code auseinander zu brechen versuche ich in ein MVC-System zu trennen.
Mein addProductGroup Controller sieht wie folgt aus:
//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: ''});
}
});
});
}
});
}
}
Mein Controller meine Daten von meinem Gruppen Sammlung wird immer und dann meine Seite zu machen. Wenn der Benutzer dann die Daten veröffentlicht, die ich versuche, die Postdaten zu übernehmen, speichern Sie sie in meiner Datenbank und rendern Sie dann die gleiche Seite. Ich habe viel mit der Verschachtelung meiner Funktionen und Reihenfolge der Operationen gespielt.
Mein groups.js Modell:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var GroupsSchema = new Schema ({
groupName: String
});
module.exports = mongoose.model('groups', GroupsSchema);
var groupName = module.exports;
ich für meine Ansichten, die einen Lenker Vorlage verwenden.
Also ist all das in meinem Modul.exports eine mögliche Sache zu erreichen? Muss ich eine Funktion außerhalb meiner modul.exports schreiben und schreiben, damit dies funktioniert? Wenn Sie irgendwelche meiner anderen Dateien sehen müssen, lassen Sie es mich wissen. Jede Hilfe wird sehr geschätzt.