Java Springdata MongoDB推送位置未设置类

Java Springdata MongoDB推送位置未设置类,java,mongodb,spring-data,Java,Mongodb,Spring Data,我试图弄明白为什么在位置插入删除\u类使我的查找失败 我有一个目标: 历史记录 字段1 字段2 我有一些子对象,如: SimpleHistoryItem扩展了HistoryItem 字段3 然后我的课堂上的文件 @Document(collection = "history") public class PersonnalHistory { /** * The ID correspond to the profile ID */ @Id pr

我试图弄明白为什么在位置插入删除
\u类
使我的查找失败

我有一个目标:

历史记录

  • 字段1
  • 字段2
我有一些子对象,如:

SimpleHistoryItem扩展了HistoryItem

  • 字段3
然后我的课堂上的文件

@Document(collection = "history")
public class PersonnalHistory {

    /**
     * The ID correspond to the profile ID
     */
    @Id
    private String id;

    private List<HistoryItem> items;

    public String getProfileID() {
        return id;
    }

    public void setProfileID(String profileID) {
        this.id = profileID;
    }

    public List<HistoryItem> getItems() {
        return items;
    }

    public void setItems(List<HistoryItem> items) {
        this.items = items;
    }
}
添加了
\u类
对象。因此,当我做一个查找时,Mongo能够绘制地图。我可以找到类似于:

"_id" : ObjectId("5856cec14781686ceeb34024"),
    "_class" : "com.bdproject.model.history.PersonnalHistory",
    "items" : [
            {
                "_class" : "com.bdproject.model.history.SimpleHistoryItem",
                "profileID" : "5856dcf347816870aab76137",
                "date" : ISODate("2017-01-08T09:20:27.363Z"),
            },
由于要检索最近的历史记录项,我需要执行以下操作:

update.push(ITEMS).atPosition(0).each(item);
但是,当我执行此操作时,
\u类
消失,使我的显示出现故障。 我试图通过输入HistoryItem来检查系统:

private String _class;
public HistoryItem(Date date, HistoryItemType type){
    this.date = date;
    this.type = type;
    this._class =  this.getClass().getCanonicalName();
}
但是
\u class
只是被忽略而没有设置:(

我还试着做:

update.push(ITEMS).atPosition(0).value(item);
但价值最终会增加。
你可能有什么想法吗?

我一直在看罚单。我想一个解决办法是获取所有项目,用java添加/更新新项目,删除该文档的所有项目,并推送所有项目。这正是我不想做的。如果我有数千个项目,那么最终会非常昂贵。我想在展示时这样做,但现实是这样的太贵了。
update.push(ITEMS).atPosition(0).value(item);