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

时间: 2024-08-05 21:15:31

mongo批量更新的相关文章

mongodb 批量更新 数组的键操作的文件

persons该文件的数据如下面的: > db.persons.find() { "_id" : 2, "name" : 2 } { "_id" : 3, "name" : 3 } > db.persons.update({_id:4},{_id:4,name:4}) WriteResult({ "nMatched" : 0, "nUpserted" : 0, "n

mongodb 批量更新 操作文档的数组键

persons文档的数据如下: > db.persons.find() { "_id" : 2, "name" : 2 } { "_id" : 3, "name" : 3 } > db.persons.update({_id:4},{_id:4,name:4}) WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nMod

mongodb批量更新操作文档的数组键

persons文档的数据如下: > db.persons.find(){ "_id" : 2, "name" : 2 }{ "_id" : 3, "name" : 3 } > db.persons.update({_id:4},{_id:4,name:4})WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModifi

MySQL批量更新不同表中的数据

今天翻到以前写的批量更新表中的数据的存储过程,故在此做一下记录. 当时MySQL中的表名具有如下特征,即根据需求将业务表类型分为了公有.私有和临时三种类型,即不同的业务对应三张表,而所做的是区分出是什么类型(公有.私有.临时)的业务表对数据的固定字段做统一规律的处理. 下面为当时所编写的存储过程: BEGIN DECLARE done INT; DECLARE v_table_name VARCHAR(100); DECLARE v_disable VARCHAR(100); DECLARE v

mysql 批量更新与批量更新多条记录的不同值实现方法

在mysql中批量更新我们可能使用update,replace into来操作,下面来给各位详细介绍mysql 批量更新与性能吧! mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 复制代码代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 复制代码代码如下: UPDATE mytable SET myfie

DataTable 获取列名 DataTable批量更新至数据库

好久没写东西了,这几个月也没下功夫钻研技术,愧疚啊.说下最近刚学会的DataTable 的用法吧,新手适合看下. 1 DataTable 获取列名 在处理数据的时候大家都会用到模型,从datatable遍历数据的时候可以用datatable的columns属性获取列名,然后就可以动态的用datatable 生成一个josn字符串,然后再讲json字符串转化成你想要的model,是不是很方便?. 下面是将datatable转化为json数组的方法. private string DataTable

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_

[疯狂Java]JDBC:事务管理、中间点、批量更新

1. 数据库事务的概念: 1) 事务的目的就是为了保证数据库中数据的完整性: 2) 设想一个银行转账的过程,如果分两步,第一步是A的账户-1000,第二步是B的账户+1000,这两个动作必须是连贯的,如果中间断开(出现故障等)比如第一步执行完之后发生异常而终止了操作,那么A就白扣了1000,而B的账户也没有钱增加,这就发生了非常严重的错误: !!以上这个案例可以看出: a. 这两步必须是连贯的,一起合成的,应该作为一个整体逻辑执行单元来执行: b. 如果两步顺利执行完毕那么数据就是完整的,如果中

mysql 批量更新和批量插入

1. 批量更新 update table_name set field_name = CASE id WHEN id1 THEN  field_value, WHEN id1 THEN  field_value END 2.批量插入 insert into table_name (field1_name, field2_name) values(field1_value, field2_name) , (field1_value, field2_name)