[英]Java excute Mongodb Raw Query
有沒有一種方法可以執行類似於JDBC語句的SQL形式的MongoDB查詢。
例如,我想執行查詢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}
使用Jongo庫,查詢語法將與mongo shell中的查詢完全相似。
您的查詢的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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.