Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 用Morphia过滤HashMap_Mongodb_Hashmap_Morphia - Fatal编程技术网

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());