我想执行一个db.collation.find()之类的shell命令以使用Java mongoDB驱动程序查询mongodb,所以我编写了以下代码:
public JSONArray execute(String query, String connectionName, String databaseName) throws Exception {
MongoDatabase db = connectionUtil.getMongoConnection(connectionName).getDatabase(databaseName);
Document command = new Document();
command.put("eval", "function(){return "+ query +";}");
Document result = db.runCommand(command);
ArrayList resultList = (ArrayList) result.get("cursor", Document.class).get("firstBatch");
return JSONArray.parseArray(JSON.toJSONString(resultList));
}
但是执行的结果是一个json,仅包含ok和retaval:
{“ retval”:{“ size”:13},“ ok”:“ 1.0”}
它没有我想要的东西,对此有任何解决方案吗?