我有对象数组的ID,我想用后端上已有的信息更新信息。
我的代码删除了每个数组,并使用新信息创建了一个新数组。
我想使用变量ID访问数组,然后更改其值:
Functor
答案 0 :(得分:0)
如果您有要更新的项目的ObjectId,则代码应如下所示:
User.products.findOneAndUpdate(
{ _id: ID, "products._id": <here goes id for an array element> },
{
$set: {
"products.$": {
name: product_name,
productDescription: product_Description,
pricePerUnit: price_PerUnit,
productAmmount: product_Ammount
}
}
},
err => {
if (err) throw console.log("found errors");
console.log("no errors");
}
);
另外,当您要更新子文档时,您必须意识到这种情况下需要提供一个数组元素的特定ID。