2016-11-16 2 views
0

MongoDB 쿼리를 JDBC 문과 비슷한 SQL 형식으로 실행할 수 있습니까?Java excute Mongodb Raw Query

Java를 사용하고 있으므로 쿼리 db.products.find({"_id" : ObjectId("56eadecd69eefd335e8d8f0d")}).pretty();을 실행하고 싶습니다. 몇 가지 예를 들어 주시겠습니까? 나는 코드

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