当我尝试从预定义的架构中创建一个新对象并将其插入我的mongoDB数据库时,我会不断收到连击器。我希望有人可以帮助我弄清楚为什么我会遇到这个错误,并希望我能解决这个错误,谢谢。
app.js
var print = require('./print');
var port = 1338;
var express = require("express");
var app = express();
var bodyParser = require('body-parser');
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
var url = 'mongodb://localhost:1337/testdb';
var mongoose = require('mongoose')
var user = require('./schemas/user.js')
MongoClient.connect(url, function (err, db) {
var collection = db.collection('users');
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
console.log('Connection established to', url);
}
app.use(bodyParser.urlencoded({ extended: true }));
app.set('view engine','ejs');
app.get('/', function(req,res){
res.render("post");
print("All is in order");
})
app.post('/post', function(req, res) {
var name = req.body.name
var email = req.body.email
res.send(`You sent the name ${name} and the email ${email}`);
var user1 = new user()
user1.name = name
user1.email = email
collection.insert(user1, function(err,result){
if (err) {
console.log(err);
} else {
console.log('The Results', result);
}
})
});
app.listen(port,function(){
print(`listening on ${port}`);
})
})
user.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema
var UserSchema = new Schema({
name: {type: String},
email:{type: String}
});
module.exports = mongoose.model('User', UserSchema);
post.ejs
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS3 Contact Form</title>
</head>
<body>
<div id="contact">
<h1>Send an email</h1>
<form action="http://127.0.0.1:1338/post" method="post">
<fieldset>
<label for="name">Name:</label>
<input type="text" id="name" name="name" placeholder="Enter your full name" />
<label for="email">email:</label>
<input type="email" id="email" name="email" placeholder="Enter your email" />
<input type="submit" value="Send message" />
</fieldset>
</form>
</div>
</body>
</html>
错误:
rangeRor:最大呼叫堆栈大小超过 在计算中(C: users programming documents web_repo node_modules bson lib lib lib bson parser carculate_size.js:49:26) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib bson parser parser carculate_size.js:38:22) 在计算(C: Users programming documents web_repo node_modules bson lib lib lib bon parser carculate_size.js:123:77) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib bson parser parser carculate_size.js:28:22) 在计算(C: Users programming documents web_repo node_modules bson lib lib lib bon parser carculate_size.js:123:77) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib bson parser parser carculate_size.js:38:22) 在计算(C: Users programming documents web_repo node_modules bson lib lib lib bon parser carculate_size.js:123:77) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib bson parser parser carculate_size.js:38:22) 在计算(C: Users programming documents web_repo node_modules bson lib lib lib bon parser carculate_size.js:123:77) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib bson parser parser carculate_size.js:28:22) 在计算(C: Users programming documents web_repo node_modules bson lib lib lib bon parser carculate_size.js:123:77) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib bson parser parser carculate_size.js:38:22) 在计算(C: Users programming documents web_repo node_modules bson lib lib lib bon parser carculate_size.js:123:77) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib bson parser parser carculate_size.js:38:22) 在计算(C: Users programming documents web_repo node_modules bson lib lib lib bon parser carculate_size.js:123:77) 在CounculateObjectsize(c: users programming documents web_repo node_modules bson lib lib lib bson parser carculate_size.js:28:22)
>
尝试使用以下代码
app.post('/post', function(req, res) { var name = req.body.name var email = req.body.email res.send(`You sent the name ${name} and the email ${email}`); var user1 = {}; user1.name = name; user1.email = email; collection.insert(user1, function(err,result){ if (err) { console.log(err); } else { console.log('The Results', result); } }) });