微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 mongoose 仅​​更新 mongodb 中传递的值

如何解决使用 mongoose 仅​​更新 mongodb 中传递的值

我已经构建了一个 API,可以使用 mongoose 更新 MongoDB 中的记录,但目前发生的情况是,如果我只在 postman 的 4 field 中传递 JSON file 值并尝试更新,那么所有值都是使用值 null 更新,除了我在 JSON 中传递的 4 个字段,所以任何人都可以帮助我如何传递动态字段和值,这些字段和值仅更新传递的集合值而不是集合的所有字段。

传递 JSON :

{
    "preferance_id" : "60fe9ba1766d10d65c64083c","is_active": true,"price_blur":true,"affiliate_commission":27,"language_code": "en"
 }

我在节点 js 中传递的更新调用

transaction.update(PreferencesMasterName,{ _id: new mongoose.Types.ObjectId(preferance_id) },{
                        subscriptin_vat : subscriptin_vat,popular_normal : popular_normal,popular_crawled : popular_crawled,price_blur : price_blur,blur_rule : blur_rule,affiliate_commission : affiliate_commission,red_lock : red_lock,automatic_dummy_price : automatic_dummy_price,...
                        is_active: is_active
                })

我想在这里传递动态字段和值而不是这个,因为由于这个原因,其他值被设置为 null 值。那么,任何人都可以知道如何做到这一点吗?

解决方法

你可以这样做:


const data = res.body; // should be an object that needs to updated

 transaction.update({_id: PreferanceMasterName._id},data,{new: true },( error,obj ) => {
            if( error ) {
                console.error( JSON.stringify( error ) );
            }
            console.log( obj );
        });

在某些情况下 new 不起作用,您可以使用:{ returnOriginal: false }; 有关更多详细信息,您可以查看 this 线程,您可以通过多种方式执行此操作。

请检查update如何使用它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?