Javascript 将新项目添加到mongoose中的现有阵列

Javascript 将新项目添加到mongoose中的现有阵列,javascript,angularjs,node.js,mongoose,Javascript,Angularjs,Node.js,Mongoose,我在数据库e.I.[aaa,bbb,ccc]中有一个带有产品描述的数组,我想向数组中添加新项,如[aaa,bbb,ccc,ddd],但我的代码没有向数组中添加新项,只是更改了现有数组,如[ddd]。 问题:为了向现有数组添加新项,我应该在代码中更改什么 <form name="editProduct.addForm" ng-submit="editProduct.addDescription(addDescription, editProduct.addForm.addDescriptio

我在数据库e.I.[aaa,bbb,ccc]中有一个带有产品描述的数组,我想向数组中添加新项,如[aaa,bbb,ccc,ddd],但我的代码没有向数组中添加新项,只是更改了现有数组,如[ddd]。 问题:为了向现有数组添加新项,我应该在代码中更改什么

<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>  
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>  

您可以使用$push运算符将新项推送到如下数组-

<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>  
Product.findOneAndUpdate(
{ _id: editProduct }, 
{ $push: {
    description: addDescription
}}, options, function(err, product){

});

您可以使用$push运算符将新项推送到如下数组-

<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>  
Product.findOneAndUpdate(
{ _id: editProduct }, 
{ $push: {
    description: addDescription
}}, options, function(err, product){

});

谢谢,效果很好,但如果我有一个项目,这是一个对象,$push不起作用,但是可以将ogject更改为数组吗?如果您想一次推送多个描述,请尝试此-``如果您想一次推送多个描述,请尝试此-`Product.findOneAndUpdate({u id:editProduct},{$push:{description:{$each:descriptionList}},选项,函数(err,product){}一次,试试这个-``如果你想一次推送多个描述,试试这个-`Product.findOneAndUpdate({{u id:editProduct},{$push:{$description:{$each:descriptionList}}},选项,函数(err,Product){})“非常感谢您的回答,您的解决方案很好,但我还有最后一个问题,您能看看这个问题吗?我不知道如何在单击时删除此项,