非常抱歉问一个很愚蠢的问题。 我使用的是Morphia 1.00. 有一些实体:
@Entity("Vacancy")
public class Vacancy {
@Id
private ObjectId id;
@Version
long version;
private String title;
还有其他字段,setter和getter。尝试保存相同的实例:
Vacancy vacancy1 = new Vacancy();
vacancy1.setTitle("Dumm");
Vacancy vacancy2 = new Vacancy();
vacancy2.setTitle("Dumm");
vacancyDao.getDatastore().save(vacancy1);
vacancyDao.getDatastore().save(vacancy2);
据我所知,MongoDB必须执行upsert命令(即“如果存在则更新;如果缺失则插入(单个文档)”)。但是,Mongo不仅会更新_id字段,还会在数据库中保存新的实体。