簡體   English   中英

Java執行Mongodb原始查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM