Mongodb 用Morphia过滤HashMap
我的实体包含以下字段:Mongodb 用Morphia过滤HashMap,mongodb,hashmap,morphia,Mongodb,Hashmap,Morphia,我的实体包含以下字段: @Embedded public Map<String, Integer> map; 所以我在寻找另一种方法。我尝试了所有这些,但没有一个有效: query.field("map").equal(myMap); query.filter("map", myMap); query.field("map").hasAllOf(myMap.entrySet()); query.field("map").hasAllOf(myMap.keySet()); 这是地图
@Embedded
public Map<String, Integer> map;
所以我在寻找另一种方法。我尝试了所有这些,但没有一个有效:
query.field("map").equal(myMap);
query.filter("map", myMap);
query.field("map").hasAllOf(myMap.entrySet());
query.field("map").hasAllOf(myMap.keySet());
这是地图排序问题还是其他问题?有什么想法吗?
谢谢。这是morphia中的一个错误:。您需要对查询实例禁用验证:Query.disableValidation()代码>
他们的分析是:“这听起来不正确,尽管查询验证失败应该只是在日志中,而不是抛出异常,所以这不应该是一个显示障碍。”在我回答时,他们已经在“post-1.0”里程碑中将其标记为解决方案。这是morphia中的一个错误:。您需要对查询实例禁用验证:Query.disableValidation()代码>
他们的分析是:“这听起来不正确,尽管查询验证失败应该只是在日志中,而不是抛出异常,所以这不应该是一个显示障碍。”在我回答时,他们已经在“1.0后”里程碑中将其标记为解决方案。“无一起作用”意思是你没有得到想要的结果,或者你总是得到警告?对不起,你是对的,我不清楚。这意味着我没有预期的结果,但没有警告。“没有起作用”意味着你没有得到预期的结果,或者你总是得到警告?对不起,你是对的,我不清楚。这意味着我没有预期的结果,但没有警告。
[warn] o.m.m.q.QueryValidator - The type(s) for the query/update may be inconsistent; using an instance of type 'java.lang.Integer' for the field 'models.MyModel.map' which is declared as 'java.util.Map'
[warn] o.m.m.q.QueryValidator - Validation warnings:
[Validation failed: 'Type java.util.Map may not be queryable with value '2' with class java.lang.Integer']
query.field("map").equal(myMap);
query.filter("map", myMap);
query.field("map").hasAllOf(myMap.entrySet());
query.field("map").hasAllOf(myMap.keySet());