如何使用自己的_id访问对象数组并使用Mongo / Mongoose更新它?
看看我的更新查询,检查是否有问题,因为此代码不会返回任何错误,但它并不会真正更新字段
modelUser.findOneAndUpdate(
{ userName: body.author, "portfolio._id": body.id },
{ new: true },
{
$set: { //I thing the problem it's over here
"portfolio.$.profitLoss": profitLoss,
"portfolio.$.percentage": percentage
}
},
(err, user) => {
if (err) {
console.log(err);
}
console.log(`Done`);
}
);
这是我的用户架构:
const userSchema = new Schema({
...stuff,
portfolio: [
{
coin: String,
amount: String,
price: String,
bought: Date,
profitLoss: String,
percentage: String
}
],
});
基本上,我认为mongo只是不知道这些子文档中的哪个应该更新,我不知道子对象/文档是否有另一个findOneAndUpdate
的ID。
答案 0 :(得分:0)
只需将findOneAndUpdate
更改为updateOne
,一切正常。