node.js - 无法发布到数据库,验证错误(如果根据需要设置)或请求正文中的 JSON 未发布
问题描述
这是我的架构 -
const UserSchema = new Schema({
name: {
type: String,
maxlength: 50,
required: true
},
email: {
type: String,
maxlength: 50,
required: true
},
password: {
type: String,
minlength: 8,
maxlength: 50,
required: true
},
phone: {
type: Number,
minlength: 8,
maxlength: 50,
required: true
},
});
module.exports = {
UserSchema: mongoose.model("User", UserSchema)
}
如果我要删除“必需”,那么无论我如何尝试发布姓名、电子邮件等,它只会在数据库中保存一条空记录。如果它按要求设置,它只会导致验证错误。我也在使用这些,如果有人要建议这个 -
app.use(express.urlencoded());
app.use(express.json());
这是路由器 -
const express = require("express")
const router = express.Router()
const {insertUser} = require("./model/user/User.model")
router.all("/", (req,res,next) => {
/* res.json({message: "return user info"}) */
next();
});
router.post("/", async (req,res) => {
try {
const result = await insertUser(req.body);
console.log(result);
}catch (error) {
console.log(error)
res.json({status: "error", message: error.message})
}
console.log(result)
res.json({message: "new user created", result})
});
module.exports = router;
这是 insertUser 函数 -
const {UserSchema} = require("./User.schema")
const insertUser = (userObj) => {
return new Promise((resolve,reject) =>{
UserSchema(userObj)
.save()
.then((data) => console.log(data))
.catch((error) => console.log(error))
})
}
module.exports = { insertUser,};
任何帮助,将不胜感激!我什么都试过了,真的看不出有什么问题。
解决方案
推荐阅读
- c# - 锁定用户对位于共享驱动器上的 XML 文件的访问,而不是程序
- javascript - this.setState() 调用在 reactjs 中有什么作用?
- amazon-athena - 在 Athena 中使用 MySQL Aurora 作为源
- python - ModuleNotFoundError:在 PyCharm (Mac) 上没有名为 zenpy 的模块
- google-cloud-platform - GCP - 传出连接
- python - 康威的生活游戏邻居计数
- python - Convert a xlsx file with multiple sheets to multiple xlsx files
- django - Django - update_index 更新测试和生产站点
- python - optunity:具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all()
- php - php curl_multi_thread 无法正常工作