gpt4 book ai didi

node.js - user.save() 不会在 mongodb 中保存(不执行任何操作)

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:20 26 4
gpt4 key购买 nike

我正在尝试在 MongoDB 中保存用户,但似乎不起作用。我不知道为什么。我只能告诉你,代码正在运行并进入 .pre save 函数,但它没有进入 save 函数 promise 。

你能告诉我为什么它没有保存在基地吗?

前端提交功能

handleSubmit(user){
console.log(user);
axios.post('http://localhost:3000/signup', user)
.then(data => {
console.log(data);
console.log("OBVIOUSLY I DON'T SEE THIS LOG EITHER");
}
);
}

app.js(node.js 文件)

app.post('/signup', urlencodedParser, function(req, res){
let user = new User(req.body);
user.save().then(() => {
console.log("I DON'T SEE THIS LOG");
});
res.end();
});

user.js(node.js 文件)

UserSchema.pre("save", (next) => {
console.log(this);
console.log("I SEE THIS LOG");
next();
});
const User = mongoose.model('user', UserSchema);

module.exports = User;

最佳答案

也许是一个愚蠢的问题,但 app.js 中的 User 不是未定义吗?也许console.log了req.body。因为我不认为你一开始就在创建用户。

另一个提示:
使用 mongoose 的 create 函数代替,你会在构建文档下找到一个示例:
https://mongoosejs.com/docs/models.html

关于node.js - user.save() 不会在 mongodb 中保存(不执行任何操作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52495249/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com