MongoDB JDBC调Command

受到这个blog的启发:http://wangzijian777.iteye.com/blog/1141763

 

和原文遇到的问题不同,我这里是远程数据同步到MongoDB中。

遇到删表后产生大量碎片文件,挤占系统空间。

 

Mongo m = new Mongo();
db = m.getDb("admin");
db.eval("db.shutdownServer");
// 或者是如下的代码:
db.command("shutdown");

 

 上面的命令中,eval已经不能使用了。最新的JDBC 驱动2.11.X 用法如下:

db.eval("db.repairDatabase()", null);

 

如果使用db.command方法,找不到对应的command code 。

 

官方文档如下:

public Object eval(String code,
          Object... args)
calls doEval(java.lang.String, java.lang.Object[]). If the command is successful, the "retval" field is extracted and returned. Otherwise an exception is thrown.

Parameters:
code - the function in javascript code
args - arguments to be passed to the function

Returns:
The object

Throws:
MongoException

 

意思是将JavaScript命令用字符串的形式传入,再传入Object[] 的参数。

 

 

 

你可能感兴趣的:(java,mongodb,command)