受到这个blog的启发:http://wangzijian777.iteye.com/blog/1141763
?
和原文遇到的问题不同,我这里是远程数据同步到MongoDB中。
遇到删表后产生大量碎片文件,挤占系统空间。
?
class="java" name="code">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[] 的参数。
?
?
?