我正在用Spring / Mongo / Jersey编写一个API,在一个POJO上做CRUD,它有一个通用的属性映射,如下所示:
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/),但我没有看到任何示例告诉我如何从spring数据调用低级驱动程序API.
我希望能够像这样打开调试:
public List<T> find(Query query) {
if (debugOn) {
String queryPathDetails = mongoOps.executeCommand( /*NOW WHAT??*/ ).toString();
logger.log(queryPathDetails);
}
return mongoOps.find(query, clazzOfItem);
}
您将提供的任何帮助将不胜感激!
解决方法:
我们尚未提供支持,但您可以设置断点here
org.springframework.data.mongodb.core.MongoTemplate.QueryCursorPreparer.prepare(..)
在您选择的调试器中,您只需执行一个
cursor.explain()
例如通过eclipse显示视图.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。