mysql mongodb批量操作_mongoDB 数据库批量操作 BulkOperations

mongoDB也很强大了,可以批量修改,批量新增,就是不能批量upsert, 怀念mysql的 on duplicate key update。

既然upsert不能批量传参数,那么总有 mysql 的 executeBatch 批量提交操作吧。答案是肯定的。

1.mongoDB批量insert插入操作案例

testModel m1 = new testModel("m1", 10);

testModel m2 = new testModel("m2", 20);

// BulkMode.UNORDERED:表示并行处理,遇到错误时能继续执行不影响其他操作;BulkMode.ORDERED:表示顺序执行,遇到错误时会停止所有执行

BulkOperations ops = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, "test");

ops.insert(m1);

ops.insert(m2);

// 执行操作

ops.execute();

2.mongoDB批量upsert新增修改操作案例

List resultList = new ArrayList<>();

List> updateList = new ArrayList<>();

BulkOperations operations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, collectionName);

dataList.forEach(data -> {

Query query = new Query(Criteria.where("project").is(contentObject.getString("projectId")));

Update update = new Update().set("timeStamp", new Date());

Pair updatePair = Pair.of(query, update);

updateList.add(updatePair);

});

operations.upsert(updateList);

operations.execute();

mongoDB纵欲可以 批量upsert了,这也是为什么我要学习mongo批量操作的目的!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的Java程序,演示如何使用MongoDB Java驱动程序进行查询。 首先,您需要使用Maven或Gradle等工具将MongoDB Java驱动程序添加到您的项目中。然后,您需要创建一个MongoClient实例,该实例表示与MongoDB服务器的连接。 ``` MongoClient mongoClient = new MongoClient("localhost", 27017); ``` 接下来,您需要选择一个数据库并创建一个MongoDatabase实例。 ``` MongoDatabase database = mongoClient.getDatabase("myDatabase"); ``` 然后,您可以选择一个集合并创建一个MongoCollection实例。 ``` MongoCollection<Document> collection = database.getCollection("myCollection"); ``` 现在,您可以使用MongoCollection实例执行各种查询。例如,以下代码将查询集合中所有文档的数量。 ``` long count = collection.countDocuments(); System.out.println("Total documents in collection: " + count); ``` 您还可以使用MongoCollection实例执行更复杂的查询。例如,以下代码将查询集合中年龄大于30的所有文档。 ``` Document query = new Document("age", new Document("$gt", 30)); List<Document> results = collection.find(query).into(new ArrayList<>()); for (Document doc : results) { System.out.println(doc.toJson()); } ``` 在上面的代码中,我们使用一个查询文档来指定查询条件,然后使用find()方法执行查询。我们使用into()方法将查询结果转换为一个ArrayList。 以上是一个简单的MongoDB Java查询的例子,您可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值