我将 Mongo 与本机 Java 驱动程序(没有第 3 方库/ORM)一起使用。我有这个:
public class Release extends ReflectionDBObject {
//other fields omitted
private List<ReleaseDetailsByTerritory> releaseDetailsByTerritory = new ArrayList<ReleaseDetailsByTerritory>();
}
public class ReleaseDetailsByTerritory extends ReflectionDBObject { //...}
如果我想检索具有两个“ReleaseDetailsByTerritory”条目的“Release”条目,并让它们在包含两个 ReleaseDetailsByTerritory 类实例的列表的 Release 类实例中自动实例化,我必须这样做:
releaseColl.setObjectClass(Release.class);
releaseColl.setInternalClass("ReleaseDetailsByTerritory.0", ReleaseDetailsByTerritory.class);
releaseColl.setInternalClass("ReleaseDetailsByTerritory.1", ReleaseDetailsByTerritory.class);
Release r = (Release) releaseColl.findOne();
即我需要专门将嵌入数组的每个潜在元素映射到相应的类。
有没有办法告诉 Mongo 驱动程序我希望嵌入式数组的所有元素和任何元素都映射到某个类?就像是 :
collection.setInternalClass("ReleaseDetailsByTerritory.*", ReleaseDetailsByTerritory.class);
?
谢谢。请不要说“使用 Spring MondoDb 模块或 Morphia”。我想知道这是否可以通过 Mongo 本机 Java 驱动程序实现。