Как я могу получить доступ к массиву объектов с их собственным _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
}
],
});
В принципе, я думаю, что Монго просто не знает, какой из этих суб-документовследует обновить, я не знаю, есть ли что-то вроде findOneAndUpdate
для подобъекта / документа по идентификатору.