在mongodb中存储多个子类对象的单个文档

时间:2014-03-28 10:36:54

标签: mongodb spring-data-mongodb

我在我的应用程序中使用MongoDB Spring数据。 我的java类看起来像这样:

Class Mongo{
    private BaseClass bc;
    private String id;
}

Class BaseClass{
    private String baseName;
}

Class ChildClass1 extends BaseClass{
    private String childName;
}

Class ChildClass2 extends BaseClass{
    private String childContent;
}

我使用mongoTemplate.insert()方法将Mongo对象保存在文档中 实例bc可以存储childclass1或childclass2的对象 从集合中获取数据时发生此问题 mongoTemplate.find()将始终返回BaseClass对象 即使将其强制转换为相应的子类也会引发ClassCastException。

我应该为每个子类MongoChild1,MongoChild2等使用单独的集合来避免这个问题吗?

0 个答案:

没有答案