MongoDB在通过_id获取架构时无法推送到数组



我一直在尝试向我的网站添加订阅功能,用户订阅该功能,该类将添加到用户模型中的类数组中。。。这是我的代码:

app.post("/subscribe", function (req, res) {
const newClass = req.body.subClass;
const id = req.user.id
const ObjectId = mongoose.Types.ObjectId;
User.findOneAndUpdate(
{ _id: new ObjectId(id) },
{ $push: { classes: newClass } },
{ upsert: false, new: true }
);
res.redirect("/dashboard")
});

这是我的模式:

const userSchema = new mongoose.Schema({
email: String,
password: String,
secret: String,
classes: [String]
});

以及我正在推动的模型:const User = new mongoose.model("User", userSchema)

感谢提供的所有帮助

app.post("/subscribe", async function (req, res) {
try {
const newClass = req.body.subClass;
const id = req.user.id
const ObjectId = mongoose.Types.ObjectId;
await User.findByIdAndUpdate(
id,       
{ $push: { classes: newClass } },
{upsert: true, new: true }

);
}
catch(err) {
console.error(err);
}
res.redirect("/dashboard")
});

以下是猫鼬参考链接

最新更新