为什么MongoDB的带有eval的runCommand方法仅返回retval和ok?

时间:2018-08-23 08:37:04

标签: mongodb

我想执行一个db.collat​​ion.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”}

它没有我想要的东西,对此有任何解决方案吗?

0 个答案:

没有答案