文档章节

mongoDB学习之批量操作

o
 osc_w9s1w4o0
发布于 2019/04/10 14:42
字数 212
阅读 5
收藏 0

精选30+云产品,助力企业轻松上云!>>>

1   批量forEach相关

  mongoDB  api地址:https://docs.mongodb.com/manual/reference/method/cursor.forEach/

  1.1   更新id在 ids 中的 “is_delete” 字段的值为 1 

      var ids=['1','2','3'];

      ids.forEach(

        function(item){

          db.getCollection('lw-media-source').update(
            {"id":item},
            {"$set":{ "is_delete" : NumberInt(1)}},
            {"upsert": false});
          }

      ) ;

  1.2  查询A表中字段sort 大于等于的数据ids , 根据ids 插入 B 表中

    db.getCollection('A').find({"score":{"$gte":500}}).forEach(function(item){
      db.getCollection('B').insert({ "score" : NumberInt(item.score),"id":item.id,"item_tags":"标签1"});
    }) ;

 

2  mongoDB   MongoTemplate  批量

  2.1  批量insert
//BulkMode.UNORDERED:表示并行处理,遇到错误时能继续执行不影响其他操作;
// BulkMode.ORDERED:表示顺序执行,遇到错误时会停止所有执行
public Integer insertList(List<T> ts,Class<T> entityClass) throws MongoBulkWriteException { 

BulkWriteResult execute =
mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, entityClass).insert(ts).execute();
return execute.getInsertedCount();
}

 

  2.2  批量 update
public Long deleteItems(List<String> items) {
Query query = Query.query(Criteria.where("id").in(items));
Update update = Update.update("is_delete", 1);
BulkWriteResult execute =
mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, SourceMedia.class).updateMulti(query, update).execute();
return Long.valueOf(String.valueOf(execute.getModifiedCount()));
}

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
mongodb学习总结

mongodb学习总结 一丶什么是MongoDB   MongoDB是一个基于分布式文件存储的数据库, 由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个结余关系数据库和非关系数...

osc_8j6k14dq
2019/09/14
2
0
8天学习MongoDB——第二天 细说增删查改

看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongodb,突然 傻眼了,擦,竟然开启不了,仔细观察“划线区域“的信息,发...

phantome
2014/04/15
16
0
玩转MongoDB4.0(最新版) 从入门到实践

第1章 课程导学【终于等到你,还好没错过你】 还在为不知如何快速高效地入门MongoDB数据库而纠结和烦恼吗?不要再浪费时间了,本节导学告诉你,玩转MongoDB实战课程为你设计的学习路线,如何...

QQ1762238323
2019/04/01
0
0
玩转MongoDB4.0(最新版) 从入门到实践

第1章 课程导学【终于等到你,还好没错过你】 还在为不知如何快速高效地入门MongoDB数据库而纠结和烦恼吗?不要再浪费时间了,本节导学告诉你,玩转MongoDB实战课程为你设计的学习路线,如何...

花开月圆
2019/03/29
1
0
玩转MongoDB4.0(最新版) 从入门到实践

第1章 课程导学【终于等到你,还好没错过你】 还在为不知如何快速高效地入门MongoDB数据库而纠结和烦恼吗?不要再浪费时间了,本节导学告诉你,玩转MongoDB实战课程为你设计的学习路线,如何...

就是中意你
2019/04/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Buffer的创建及使用源码分析——ByteBuffer为例

目录 Buffer概述 Buffer的创建 Buffer的使用 总结 参考资料 Buffer概述 注:全文以ByteBuffer类为例说明 在Java中提供了7种类型的Buffer,每一种类型的Buffer根据分配内存的方式不同又可以分为...

osc_zoa046qb
23分钟前
21
0
《 ZooKeeper : Wait-free coordination for Internet-scale systems 》论文研读

Zookeeper 研读 说明:本文为论文 《 ZooKeeper : Wait-free coordination for Internet-scale systems 》 的个人理解,难免有理解不到位之处,欢迎交流与指正 。 论文地址:Zookeeper Paper...

osc_4isxawz4
24分钟前
19
0
利用__new__实现单例模式

26 利用__new__实现单例模式 python当中有很多方法都可以实现单例模式, 但利用__new__无疑是最推荐的方式. 代码如下: class Demo:is_instance = Nonedef __new__(cls, *args, **kwargs...

_Change_
26分钟前
11
0
如何白嫖微软Azure12个月及避坑指南

Azure是微软提供的一个云服务平台。是全球除了AWS外最大的云服务提供商。Azure是微软除了windows之外另外一个王牌,微软错过了移动端,还好抓住了云服务。这里的Azure是Azure国际不是Azure中...

osc_dwuu5jqk
26分钟前
21
0
Mybatis源码初探——优雅精良的骨架

@ 目录 前言 精良的Mybatis骨架 宏观设计 基础支撑 日志 日志的加载 日志的使用 数据源 数据源的创建 池化技术原理 数据结构 获取连接 回收连接 缓存 缓存的实现 CacheKey 反射 总结 前言 My...

osc_r9wwwi0j
27分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部