下面列出了com.mongodb.DB#doEval ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private CommandResult loadData() {
logger.debug("IN");
CommandResult result = null;
String clientUrl = dataSource.getUrlConnection();
logger.debug("Getting the connection URL and db name");
if (dataSource.getUser() != null && dataSource.getPwd() != null && dataSource.getUser().length() > 0 && dataSource.getPwd().length() > 0) {
String authPart = "mongodb://"+dataSource.getUser()+":"+dataSource.getPwd()+"@";
clientUrl = clientUrl.replace("mongodb://", authPart);
}
logger.debug("MongoDB connection URI:"+clientUrl);
MongoClientURI mongoClientURI= new MongoClientURI(clientUrl);
MongoClient mongoClient = new MongoClient(new MongoClientURI(clientUrl));
logger.debug("Connecting to mongodb");
String databaseName = mongoClientURI.getDatabase();
logger.debug("Database name: " + databaseName);
try {
logger.debug("Connecting to the db " + databaseName);
DB database = mongoClient.getDB(databaseName);
logger.debug("Executing the statement" + statement);
result = database.doEval(getDecoredStatement());
} catch (Exception e) {
logger.error("Exception executing the MongoDataset", e);
throw new SpagoBIRuntimeException("Exception executing the MongoDataset", e);
} finally {
logger.debug("Closing connection");
mongoClient.close();
}
logger.debug("OUT");
return result;
}
/**
* Do a server-side eval operation.
* Note it is a block operation.
*
* @param databaseName
* @param namespace
* @param collection
* @param code
* @param args
* @return
*/
public static final CommandResult doEval(String databaseName,
String namespace, String collection, String code, Object[] args) {
DB db = getDB(databaseName, namespace, collection);
return db.doEval(code, args);
}
/**
* Do a server-side eval operation.
* Note it is a block operation.
*
* @param databaseName
* @param namespace
* @param collection
* @param code
* @param args
* @return
*/
public static final CommandResult doEval(String databaseName,
String namespace, String collection, String code, Object[] args) {
DB db = getDB(databaseName, namespace, collection);
return db.doEval(code, args);
}