gpt4 book ai didi

javascript - 将新项目添加到 Mongoose 的现有数组中

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

我在数据库中有包含描述产品的数组,例如[aaa,bbb,ccc],我想将新项目添加到我的数组中,例如 [aaa,bbb,ccc,ddd],但我的代码不会将新项目添加到数组中,只是更改现有数组,例如 [ddd]。问题:我应该在代码中更改什么以将新项目添加到现有数组中?

index.html

<form name="editProduct.addForm" ng-submit="editProduct.addDescription(addDescription, editProduct.addForm.addDescription.$valid)" novalidate>
<div ng-class="{ 'has-success':(editProduct.addForm.addDescription.$valid && !editProduct.addForm.addDescription.$pristine), 'has-error':(!editProduct.addForm.addDescription.$valid && !editProduct.addForm.addDescription.$pristine) || (!addForm.addDescription.$valid && addForm.$submitted) }">
<label><h4>Add description:</h4></label>
<strong><input class="form-control" type="text" name="addDescription" ng-model="addDescription" placeholder="Add description" required></strong>
</div>
<br>
<button ng-disabled="editProduct.disabled" class="btn btn-primary add-des" type="submit">Save</button>
</form>

api.js

 router.put('/editProduct', function(req, res){
var editProduct = req.body._id;
if(req.body.addDescription) var addDescription = req.body.addDescription;

User.findOne({ username: req.decoded.username }, function(err, mainUser) {
if(err) throw err;
if(!mainUser) {
res.json({ success: false, message: 'User no found'});
} else {
if(addDescription){
if(mainUser.permission === 'admin') {
var options = { new: true };
Product.findOneAndUpdate({ _id: editProduct }, { description: addDescription }, options, function(err, product){
if(err) throw err;
if(!product){
res.json({ success: false, message: 'Product no found' });
} else {
product.update(function(err){
if(err){
console.log(err);
} else {
res.json({ success: true, message: 'Added new description'})
}
});
}
});
} else {
res.json({ success: false, message: 'You are not an admin'})
}
}
}
})
})

最佳答案

您可以使用 $push 运算符将新项目推送到这样的数组 -

Product.findOneAndUpdate(
{ _id: editProduct },
{ $push: {
description: addDescription
}}, options, function(err, product){

});

关于javascript - 将新项目添加到 Mongoose 的现有数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45128044/

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