如何使用Morphia在mongodb中存储Java HashMap <string,double>?

时间:2018-03-05 12:32:24

标签: mongodb morphia

我有一个用户定义的类 CostMatrix 这个类包含两个属性,两个属性的数据类型是HashMap。我使用Morphia与mongodb进行通信,所以我的实体类看起来像这样

 @Entity(value = "CostMatrix",noClassnameStored = false)
    public class CostMatrix {
        @Id
        private String id;

        private HashMap<String,Double> distances;

        private HashMap<String,Double> durations;
        public CostMatrix(){}

        public CostMatrix(String id, HashMap<String,Double>distances, HashMap<String,Double>durations) {
            this.id = id;
            this.distances = distances;
            this.durations = durations;
}

我无法将对象正确存储到数据库对象中存储任何方式,但当我检索它只返回id和类名时,任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

如果您不想在集合中包含任何类/包名称,只需将noClassnameStored标志设置为true。

@Entity(value = "CostMatrix",noClassnameStored =**true**)

至于保存部分,您是否在地图中填写了一些值?映射器将忽略空值和空列表。