【发布时间】:2020-06-19 21:42:16
【问题描述】:
这是我的架构:
const productSchema = new mongoose.Schema({
name: String,
imageUrl: String,
category: String,
price: Number,
description: String,
featured: {
default: false
},
rating: [
{
userName: String,
score: Number,
comment: String
}
]
});
这就是我尝试将数据推送到数据库中的方式。
app.route("/review").post(function(req, res) {
const score = req.body.score;
const comment = req.body.comment;
if (req.isAuthenticated()) {
const review = {
$push: {
rating: {
userName: req.user.fName,
score: score,
comment: comment
}
}
};
console.log(review, req.body.productName);
Product.updateOne({ name: req.body.productName }, review, function(
err,
done
) {
if (err) {
console.log(err);
} else {
res.redirect("/products");
}
});
} else {
res.redirect("/login");
}
});
在官方文档中,它说这是将数据推送到MongoDB数组中的方式。但仍然没有运气。 帮助我在评级数组字段中推送评论。 谢谢。
【问题讨论】:
-
您想分享任何错误或日志吗?
-
它没有显示任何错误,它转到 else 部分并重定向到“/products”。
-
这是什么
userName: req.user.fName?它必须来自req.body!! -
不,是登录用户名
标签: node.js database mongodb mongoose