Javascript 插入mongodb冻结,无错误
这是我的数据库连接: app.jsJavascript 插入mongodb冻结,无错误,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,这是我的数据库连接: app.js const express = require("express"); const app = express(); var { MongoClient } = require("mongodb"); MongoClient.connect("mongodb://localhost:27017", (err, client) => { if (err) return console.log(err); db = client.db("MyDb")
const express = require("express");
const app = express();
var { MongoClient } = require("mongodb");
MongoClient.connect("mongodb://localhost:27017", (err, client) => {
if (err) return console.log(err);
db = client.db("MyDb");
app.listen(5000, () => {
console.log("listening on 5000");
});
});
const mongoose = require("mongoose");
const UserSchema = mongoose.Schema({
name: { type: String, require: true },
email: { type: String, require: true, unique: true },
password: { type: String, require: true },
created_at: Date,
updated_at: Date
});
const User = mongoose.model("User", UserSchema);
module.exports = User;
这是我的insert
函数:
router.post(
"/register",
[
check("email")
.notEmpty()
.withMessage("Email Field is empty"),
check("email")
.isEmail()
.withMessage("Your email is not valid")
],
function(req, res) {
const errors = validationResult(req);
if (errors.length >= 0) {
res.render("register", { errors: errors.errors });
console.log(errors.errors);
return;
}
const { name, email, password } = req.body;
const newUser = new User({
name: name,
email: email,
password: password
});
newUser.save(function(err) {
if (err) throw err;
console.log(true);
});
}
);
这是我的用户模型:
User.js
const express = require("express");
const app = express();
var { MongoClient } = require("mongodb");
MongoClient.connect("mongodb://localhost:27017", (err, client) => {
if (err) return console.log(err);
db = client.db("MyDb");
app.listen(5000, () => {
console.log("listening on 5000");
});
});
const mongoose = require("mongoose");
const UserSchema = mongoose.Schema({
name: { type: String, require: true },
email: { type: String, require: true, unique: true },
password: { type: String, require: true },
created_at: Date,
updated_at: Date
});
const User = mongoose.model("User", UserSchema);
module.exports = User;
终端或浏览器中没有错误。当我点击“注册”按钮时,应用程序将冻结,并且没有任何错误消息
我已经测试了许多有关数据库连接的提示,但无法解决问题。
验证结果()
“从请求中提取验证错误,并将其放在结果对象中。”因此,如果没有任何错误,此对象将不包含错误(您可以使用.isEmpty()
进行检查),您的端点没有发送响应,让请求者等待。我发现建议的代码中存在两个顺序的问题,至少我们可以在您的问题中看到这一点:
用户
已保存时,重新尝试状态代码,例如201:我希望这能帮助你 因此,一个关键问题是,您没有在用户的save处理程序中发送任何status/response/json/page,因此该端点的使用者将永远不会得到成功或错误响应。成功保存新用户后,您打算发生什么。