package com.ott.demo.dao.mongo.batch;
import com.alibaba.fastjson.JSON;
import com.gooagoo.log.GooagooLog;
import com.mongodb.BasicDBObject;
import com.mongodb.CommandResult;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Repository("batchUpdateMongo")
public class BatchUpdateMongo
{
public static int batchUpdate(String logUUID, MongoTemplate mongoTemplate, String collName, List<BatchUpdateOptions> options,
boolean ordered)
{
return doBathUpdate(logUUID, mongoTemplate.getCollection(collName), collName, options, ordered);
}
public static int batchUpdate(String logUUID, DBCollection dbCollection, String collName, List<BatchUpdateOptions> options,
boolean ordered)
{
return doBathUpdate(logUUID, dbCollection, collName, options, ordered);
}
public static int batchUpdate(String logUUID, MongoTemplate mongoTemplate, Class<?> entityClass, List<BatchUpdateOptions> options,
boolean ordered)
{
String collectionName = determineCollectionName(entityClass);
return doBathUpdate(logUUID, mongoTemplate.getCollection(collectionName), collectionName, options, ordered);
}
public static int batchUpdate(String logUUID, DBCollection dbCollection, Class<?> entityClass, List<BatchUpdateOptions> options,
boolean ordered)
{
return doBathUpdate(logUUID, dbCollection, determineCollectionName(entityClass), options, ordered);
}
public static int batchUpdate(String logUUID, MongoTemplate mongoTemplate, String collName, List<BatchUpdateOptions> options)
{
return doBathUpdate(logUUID, mongoTemplate.getCollection(collName), collName, options, true);
}
public static int batchUpdate(String logUUID, DBCollection dbCollection, String collName, List<BatchUpdateOptions> options)
{
return doBathUpdate(logUUID