如何解决Morphia 2.0中的本机MongoDB查询
有时候,您只想进行一个本机查询并使Morphia很好地进行映射。我使用以下方法使其工作:
BasicDBObject parse = BasicDBObject.parse("{location:{$near:{$geometry:{type: 'Point',coordinates: ["+ location[0]+","+location[1]+"]},$maxDistance: "+ maxDistance+"}}}");
Query<LabDataDTO> query = ((AdvancedDatastore) MorphiaHandler.getStore()).createQuery(LabDataDTO.class,new Document(parse));
...但是它不是很漂亮,使用了强制转换并使用了不赞成使用的方法-您如何在Morphia 2.0中做到这一点?
解决方法
老实说,这是我从1.x到2.x的过渡中明确杀死(至少在实施时已实现)的一项功能,因为它公开/使用了某些内部实现细节,如果我在这些领域中进行了任何更改,都会破坏人们的利益。既然我在记录使用和不使用的安全性方面有了一些保护措施,现在可以使用Datastore#find(Class type,Document query)
方法安全地重新引入它。如果您确实需要这些,请提交issue,我们将努力寻求解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。