我正在用Spring/Mongo/Jersey編寫一個API來對POJO執行CRUD,該POJO具有如下屬性的通用映射:我該如何使用Spring Data來顯示mongo的查詢計劃(又名cursor.explain())
public class Thing {
private String id;
@Indexed
private Map<String,String> properties;
...
這很適合返回物品。我的資源代碼如下所示:
BasicDBObject query = new BasicDBObject("properties.name", "vlad the impaler");
return Response.ok(myService.queryThings(query)).build();
我的抽象DAO是這樣的:
public List<T> find(Query query) {
return mongoOps.find(query, clazzOfItem);
}
什麼我也說不清是,如果@Indexed註釋工作。我想嘗試解釋,(http://docs.mongodb.org/manual/reference/method/cursor.explain/),但我沒有看到任何示例演示如何從彈簧數據調用較低級別的驅動程序API。
我希望能夠打開調試像這樣:
public List<T> find(Query query) {
if (debugOn) {
String queryPathDetails = mongoOps.executeCommand(/*NOW WHAT??*/).toString();
logger.log(queryPathDetails);
}
return mongoOps.find(query, clazzOfItem);
}
可以提供將非常感激任何幫助!
感謝您的快速響應! – sottitron 2015-03-03 17:35:45
我們可以對聚合查詢做同樣的事情嗎?因爲我無法爲聚合查詢做這件事,它可以正常查詢。 – MasterCode 2016-06-23 20:56:14