gpt4 book ai didi

node.js - Mongoose 将产品表中的 id 推送到用户表中

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:05 25 4
gpt4 key购买 nike

我目前有一个用户模型和一个产品模型。我正在尝试将特定产品的 id 推送到用户架构中名为产品的数组中。

基本上我正在尝试做这样的事情

router.post('/setproduct', function(req, res) {
var product = new models.Product({
name: req.body.prodName,
price: req.body.price,
color: req.body.color
});
product.save(function(err) {
if (err) {
var error = 'Something bad happened! Please try again.';
res.render('setproduct.jade', { error: error }, {csrfToken: req.csrfToken() });
} else {

/* PUSH PRODUCT.ID TO USER.PRODUCTS ARRAY */

res.redirect('/dashboard');
}
});
});

最佳答案

您正在寻找的是 $push运算符。

product.save(function(err, doc) {
if (err) {
var error = 'Something bad happened! Please try again.';
res.render('setproduct.jade', { error: error }, {csrfToken: req.csrfToken() });
} else {
var uid = req.user._id;
Users.update({ _id: uid }, { $push: { products: doc._id } }, function(err) {
if (err) // Handle error...
res.redirect('/dashboard');
});
}
});

我只是假设您可以使用 req.user._id 之类的内容访问 route 用户的 _id

一个友好的建议是你完全跳过 Mongoose 并只使用原始的 MongoDB Node.js Driver ( docs ),因为它更简单,而且 MongoDB 是无模式的,因此在集合上强制实现模式没有什么意义,而且您也可能会获得更好的性能。虽然这只是个人喜好,所以这完全取决于您。

关于node.js - Mongoose 将产品表中的 id 推送到用户表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35532409/

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