mongo批量更新

Posted 石头hah

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongo批量更新相关的知识,希望对你有一定的参考价值。

update的如果要批量更新是无能为力的,如果有多条匹配的结果,但结果是只能更新一条。

用bulk来进行处理

var bulk = db.HIS_ALARM.initializeUnorderedBulkOp();
bulk.find( {"ID_factory": 2,"ID_alarm_type": 1,"ID_event_type": 5,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.find( {"ID_factory": 2,"ID_alarm_type": 1,"ID_event_type": 6,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.find( {"ID_factory": 2,"ID_alarm_type": 2,"ID_event_type": 5,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.find( {"ID_factory": 2,"ID_alarm_type": 2,"ID_event_type": 9,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.find( {"ID_factory": 2,"ID_alarm_type": 2,"ID_event_type": 10,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.find( {"ID_factory": 2,"ID_alarm_type": 2,"ID_event_type": 11,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.find( {"ID_factory": 2,"ID_alarm_type": 2,"ID_event_type": 12,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.find( {"ID_factory": 2,"ID_alarm_type": 2,"ID_event_type": 13,"Ack_statue" : {"$nin" : [1]}} ).update( { $set: { "Ack_statue" : 1 ,"Ack_time" : 211020472 ,"ID_ack_user" : 5} } );
bulk.execute();

以上是关于mongo批量更新的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中批量更新 mongoDB 文档

Document插入删除更新

mongo virtual

spring data mongo使用小记

Mongodb批量过滤并添加连接字段

Mybatis批量更新,批量删除