通过Java执行像Query(JSON)这样的Mongo
我想知道是否有一种方法可以直接通过Java执行像mongo一样的查询,即我们将mongoDB查询作为字符串提供给Java驱动程序中的函数,用于mongoDB作为String对象并返回DBCursor对象。就像是:
import com.mongodb.*;
import java.net.UnknownHostException;
public class ExecuteQuery {
public static void main(String args[]){
try{
Mongo m = new Mongo();
DB db = m.getDB("test");
DBCollection coll = db.getCollection("first");
DBObject doc = new BasicDBObject();
DBCursor cur =coll.executeQuery("db.first.find({"username":"joe"})");
}
catch(UnknownHostException e){
System.out.println(e);
}
catch (MongoException.DuplicateKey e) {
System.out.println("Exception Caught" + e);
}
}
}
注意:executeQuery()
不是内置功能。它仅用于演示目的。
那么,java api中是否有一个将json字符串转换为BasicDBObject
实例的函数?谢谢。
没有找到相关结果
已邀请:
5 个回复
信藉乒
,您可以使用JSON.parse()方法或任何其他JSON映射库(如Jackson)执行此操作。请注意,MongoDB使用JSON中不存在的扩展数据类型集:http://www.mongodb.org/display/DOCS/Data+Types+and+Conventions UPD:Scott Hernandez指出
。
咳累录酬
你也可以使用
,但我不推荐它。它描述性较差。
请注意,这可能容易受到SQL注入的攻击,因为您自己解析/构建过滤器。 我建议使用Jongo的参数化查询。
剃摧庭峨僳
体悉
告耸