我正在尝试使用mongoose使用MEAN堆栈创建一个简单的注册表单。这是我的 models / dbSchema.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var User = new mongoose.Schema({
FirstName: String,
LastName: String,
City : String,
Email : String,
Userid : String,
Password: String
});
module.export = mongoose.model('user', User);

这是我的 server.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var jwt = require('jsonwebtoken');
app.use(express.static(__dirname + "/public"));
// configure app to use bodyParser()
// this will let us get the data from a POST
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/Regis_module');
var Userschema = require('./models/dbSchema');
app.post('/regi',function(req,res){
var schema = new Userschema();
schema.Firstname = req.body.Fname;
schema.Lastname = req.body.Lname;
schema.City = req.body.city;
schema.Email = req.body.email;
schema.Userid = req.body.userid;
schema.Password = req.body.password;
schema.save(function(err) {
if (err)
res.send(err);
res.json({ message: 'Record Inserted', Firstname: req.body.firstname, Lastname: req.body.lastname, city:req.body.city, email:req.body.email,
userid:req.body.userid, password :req.body.password /*, fbId : req.body.fbId*/ });
});
});
app.listen(3000);
console.log("listening to port 3000");

在localhost上,在表单提交时,Firstname和Lastname不存储在数据库中。城市,电子邮件,用户ID和密码都存储正确。
如何正确存储数据库中的所有内容请帮帮我?
答案 0 :(得分:1)
在以下代码行中,您使用req.body.Fname
和req.body.Lname
:
schema.Firstname = req.body.Fname;
schema.Lastname = req.body.Lname;
在下一行中,您使用req.body.firstname
和req.body.lastname
:
res.json({ message: 'Record Inserted', Firstname: req.body.firstname, Lastname: req.body.lastname, city:req.body.city, email:req.body.email,
userid:req.body.userid, password :req.body.password /*, fbId : req.body.fbId*/ });
});
如果您的req.body
对象与您的User
架构具有相同的密钥,则可以使用mongoose的Model.create
方法并将其传递给req.body
。
对于您的代码,您将执行以下操作:
server.js
文件(let User = require('./models/dbSchema.js')
)然后您的app.post
将如下所示:
app.post('/regi', function(req,res) {
//pass the .create method the data from the body
User.create(req.body, (err, savedUser) => {
if(err) return res.send(err);
res.send(savedUser);
});
});