我正试图通过Morphia在mongodb中保存一个文档列表。
class test {
@Id
private ObjectId id;
private String email_id;
}
datastore.save(list_of_test_entity);
我想要的是,如果列表包含一个重复的测试实体,不要插入它,而是继续添加REST。
是否可以使用save()
方法?
您可以使用insert
变量,并将continueonerror
标志设置为false,这将指示服务器对AdvancedDataStore
执行无序
写操作。
AdvancedDataStore
使用Bulkwrites
。这将继续处理所有写操作,并按照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
}
现在我想做的是将一个GeoStamps列表推送到Mongo中的GeoStamp数组,在那里我首先过滤跟踪器的ObjectId或它的iCAN。然后在文档中发现我需要按日过滤,所以我不会将GeoStamp列表添加到分布在多个日期的多个GeoStamp数组中。 我想可以用下面的方法来做: 我的查询(是的,我知道retrievedFields是不推荐的,我不想使用它,但这是我最接近工作的解决方案): 写入
我不会保存对象就业没有_id我想保存只是属性"就业"如下: 此文档和在db上记录的文档,具有自动生成的_id属性 我的Attribute employe模式为:
我有一个具有以下模式的用户集合: 用户将查找用户。名称,必须是唯一的。添加新用户时,我首先执行搜索,如果没有找到这样的用户,我会将新用户文档添加到集合中。搜索用户和添加新用户(如果未找到)的操作不是原子操作,因此,当多个应用程序服务器连接到DB服务器时,可能会同时收到两个具有相同用户名的添加用户请求,从而导致两个添加用户请求都找不到这样的用户,这反过来会导致两个文档具有相同的“user.name”
问题是,即使我能够成功发送文档,其他用户也可以在线签名,但当我转到docusign配置文件时,发送的文档是不可见的。如果我不使用代表发送功能,文档连同状态,即out for signature或Signated将显示在我的配置文件中。这是怎么回事?谢谢
我已经为Word创建了一个插件。我正在尝试通过单击按钮更新word文档中的自定义属性的值。但却得不到拯救。我写的代码是: 但如果我在文档中添加一个空格然后保存它。然后保存自定义属性的值。代码为: 为什么行为是这样的。我不想在我的文档中添加任何额外的空白处。请帮帮我。提前道谢。
我想插入一批文档,其中一些已经存在于集合中。所以我想要的是忽略它们,或者对我来说更好的解决方案是在例外情况下,我想记录哪个文档是重复的,如果可能的话,继续插入下一个文档。 我看到了几个类似的问题,但没有一个解决了这个问题。 我的代码如下所示: 任何帮助都将不胜感激。