2016-11-16 15 views
0

MongoDBクエリをSQL文で実行する方法はありますか?JDBC Statementと同様です。Java excute Mongodb Rawクエリ

私はクエリdb.products.find({"_id" : ObjectId("56eadecd69eefd335e8d8f0d")}).pretty();をJavaを使用しているまま実行したいと思います。いくつかの例を共有していただけますか?私は、コード

BasicDBObject obj = new BasicDBObject(); 
obj.append("$eval", query); 
CommandResult cr = mongoTemplate.executeCommand(obj); 
String createdBy = cr.getString("createdBy"); 

の下にしようとしたが、それはエラーにクエリ構文は、モンゴシェルでクエリに正確に類似して

{ "serverUsed" : "xxxxx" , "ok" : 0.0 , "errmsg" : "not authorized on shopchatdb to execute command { $eval: \"db.products.find({\"_id\" : ObjectId(\"56eadecd69eefd335e8d8f0d\")}).pretty()\" }" , "code" : 13} 

答えて

0

使用Jongoライブラリを、返します。クエリの

Jongo同等は次のようになります。

DB db = new MongoClient().getDB("dbname"); 

Jongo jongo = new Jongo(db); 
MongoCollection products = jongo.getCollection("products"); 

MongoCursor<Product> all = friends.find("{"_id" : ObjectId("56eadecd69eefd335e8d8f0d")}").as(Product.class); 

//Product.java is your POJO