mongodb - 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)
方法安全地重新引入它,因为我有一些保护措施来记录什么是安全的,什么是不安全的。如果这是您真正需要的东西,请提出问题,我们可以努力寻找解决方案。
推荐阅读
- python-3.x - 从字典中的字典中删除键
- swift - 试图修复 textfieldDidBeginEditing & textFieldDidEndEditing
- typescript - 组合类型保护签名
- excel - 清除文本框时触发excel vba userform afterupdate
- podman - podman 容器如何建立连接和端口问题?
- c - 在结构元素中自由
- assembly - 如何在 ARM 中打印浮点 (VFP) 数?
- python-3.x - 我怎样才能实现“ for (int i=0; i
我可以在这里使用 range() ,还是有其他方法?
Bootstrap 4 折叠本地存储中的活动状态
- jquery - Bootstrap 4 折叠本地存储中的活动状态
- angular - ng-bootstrap: DatePicker NavigateTo