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();
