gpt4 book ai didi

node.js - 使用 Mongoose 和 Node.js 更新 MongoDB 中的数据

转载 作者:行者123 更新时间:2023-12-03 15:59:14 24 4
gpt4 key购买 nike

当用户访问页面时,我尝试更新用户集合中的某些信息。

但是我的方法不行。谁能帮忙修复一下。

app.get('/add-your-accommodation/apartment-type', (req, res, next) => {

if (req.isAuthenticated()) {
res.render('apartment-type.ejs')
} else {
res.render('login.ejs')
}

var id = req.params.id

if(mongoose.Types.ObjectId.isValid(id)) {
User.findByIdAndUpdate(id, {$set: {accomtype: 'house'}},{new: true})
}
});

最佳答案

您的req.params.id未定义,因为路由路径中没有提及它。你可以这样做,

app.get('/add-your-accommodation/apartment-type', (req, res) => {

if (!req.isAuthenticated()) {
return res.render('login.ejs')
}

res.render('apartment-type.ejs')

var id = req.user._id //since you're using passport (LocalStrategy)

if(mongoose.Types.ObjectId.isValid(id)) {
User.findByIdAndUpdate(id, {$set: {accomtype: 'house'}})
}
})

现在,当您调用 API 时,请这样做,

GET /add-your-accommodation/apartment-type

关于node.js - 使用 Mongoose 和 Node.js 更新 MongoDB 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60667606/

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