首页 > 解决方案 > 使用 java 类执行类似 mongoDB shell 的查询

问题描述

使用 java 类我想执行存储在字符串变量中的 MongoDB shell 查询。目前我正在使用以下代码。

String query="db.INSTANT.insert( { item: 'card', qty: 12 } )";
MongoClient mongo = new MongoClient("localhost",27017);
DB db = mongo.getDB("mydb");
db.eval(query);

上面的代码适用于插入。但我想执行 find 语句query=db.INSTANT.find({"item":"card"})。有没有办法执行这个查询并打印集合集。

标签: javamongodbjacksonmongo-javamongo-jackson-mapper

解决方案


假设eval从 3.0 版本开始不推荐使用 的功能。

Java Driver 中的 helper db.eval() 包装了 mongo eval 命令,因此您可以通过这种方式评估 JavaScript 代码

String query="db.INSTANT.find( { item: 'card', qty: 12 } ).toArray()";

推荐阅读