【问题标题】:How to Update an Object inside an Array inside a MongoDB Collection using Mongoose如何使用 Mongoose 更新 MongoDB 集合内的数组内的对象
【发布时间】:2021-07-21 01:16:44
【问题描述】:
这是一个费用跟踪应用程序
我正在尝试创建一个用户可以更新费用价值的更新路线
例如,我想将 First Expense Name 从 Bike 更新到 Bike Rental & Amount 从 250 到 500
同样,创建一个通用端点,用户可以在必要时更新任何费用
这里是我要填写的快速获取路线和补丁路线的快照
整个集合的ObjectID 607bbb07e1ebb63a3033af15 将从前端发送到后端。
我正在使用 Express,Mongoose。
【问题讨论】:
标签:
node.js
mongodb
express
mongoose
【解决方案1】:
您可以像这样在您创建的模型上运行更新:
const filter = {_id :"(*User Id Here*)", "Expenses._id": "(*Expense Id Here*)"}; //check the type of _id if this doesn't work
const query = {$set: {"Expenses.$.Name" : "value"}};
User.update(filter, query);
或者,
User.update({_id :"ObjectId(pass id)", "Expense._id" : ObjectId'pass id'}, {'$set': {'Expenses.$.Name': 'name update'});
同样,您可以对对象中的任何键执行此操作,前提是该键存在于其中。现在这将检查