void batchUpset(List<Entity> list) {
        //UNORDERED: 并行,遇到错误后继续执行
        BulkOperations bulkOps = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, "entity_table");

        //批量更新
        for (Entity e: list) {
            Query query = Query.query(Criteria.where("name").is(e.getName()));
            Update update = new Update().set("score", e.getScore());
            bulkOps.upsert(query,update);
        }
        bulkOps.execute();

        //批量写入
        bulkOps.insert(list);
        bulkOps.execute();

        //批量删除
        for (Entity e: list) {
            Query query = Query.query(Criteria.where("name").is(e.getName()));
            bulkOps.remove(query);
        }
        bulkOps.execute();
    }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐