【问题标题】: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'});
    

    同样,您可以对对象中的任何键执行此操作,前提是该键存在于其中。现在这将检​​查

    【讨论】:

    • 上面的查询正在执行,但是它没有在数据库中更新。
    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多