0

我在 Java 和 Spring 中使用最新版本的 MongoDB。

我希望能够从存储类类型 A 的集合中填充类型 NotA 的类。

A 类和 NotA 类完全相同,但有一个区别:NotA 类的名称是,嗯,不是 A :)

为了论证,A类看起来像这样:

public class A {
    String name;
    String domain;
}

A 集合的对象如下所示:

{ "_id" : "b7990a90-7d95-4879-bb4a-5ec2fd13e262", "_class" : "com.someservice.A", "name" : "Dan", "domain":"global"}

由于与这个问题无关的原因,我无法读入 A 然后复制到 NotA,我必须直接读取到 NotA(或其他一些不是介于两者之间的对象,然后再读取到 NotA,如果没有其他选择)。

我想我可以读取一个 DBObject,然后手动复制所有字段,但宁愿让默认反射机制来做它的事情。

我已将 NotA 的 @Document 注释设置为 @Document(collection = "A") 但这还不够,我还需要剩下的部分。

我猜这个问题有一个简单的解决方案,我就是想不通。帮助?

4

1 回答 1

0

如果可能的话 - 您可以直接在 Mongo 集合中更新您的文档以调整_class值:

{ "_id" : "b7990a90-7d95-4879-bb4a-5ec2fd13e262", "_class" : "com.someservice.NotA", "name" : "Dan", "domain":"global"}
于 2013-02-20T09:11:29.147 回答