通过Morphia在MongoDB中保存文档列表,不包括重复的文档
我正试图通过morphia在mongodb中保存一个文档列表 实体:通过Morphia在MongoDB中保存文档列表,不包括重复的文档,mongodb,morphia,Mongodb,Morphia,我正试图通过morphia在mongodb中保存一个文档列表 实体: class test { @Id private ObjectId id; private String email_id; } 实体在电子邮件id字段上具有唯一索引。 我正在使用保存测试实体列表 datastore.save(list_of_test_entity); 我想要的是,如果列表包含一个重复的测试实体,不要插入它,而是继续添加rest 是否可以使用save方法?您可以使用将continueOnEr
class test {
@Id
private ObjectId id;
private String email_id;
}
实体在电子邮件id字段上具有唯一索引。
我正在使用保存测试实体列表
datastore.save(list_of_test_entity);
我想要的是,如果列表包含一个重复的测试实体,不要插入它,而是继续添加rest
是否可以使用save方法?您可以使用将continueOnError标志设置为false的insert variants,该标志指示服务器在AdvancedDatastore上执行无序写入操作
AdvancedDatastore使用批量写入。这将继续处理所有写操作,并将最后一个按其作为DuplicateKeyException处理的顺序抛出。因此,您可以添加try-catch来忽略错误
AdvancedDatastore datastore = (AdvancedDatastore) morphia.createDatastore(mongoClient, dbName);
InsertOptions insertOptions = new InsertOptions();
insertOptions.continueOnError(true);
try {
datastore.insert(list_of_test_entity, insertOptions);
catch (DuplicateKeyException e){
//Ignore
}