【问题标题】:Update if present else insert using Morphia in Play framework如果存在则更新,否则在 Play 框架中使用 Morphia 插入
【发布时间】:2015-12-18 08:48:33
【问题描述】:

如果文档存在则需要更新,否则在播放框架中使用 morphia 插入它。 save()createIfMissing 方法使用_id,但是我要根据另一个字段(例如customId)来测试存在性。如何做到这一点?

【问题讨论】:

  • 能否请您发布您尝试过的内容。这可能有助于寻求更多关注。
  • 不确定是谁投了反对票。
  • @BatScream:到目前为止,我使用 save(Item) 将项目的 _id 设置为与现有项目相同。

标签: java mongodb pojo morphia playframework-2.4


【解决方案1】:
Query<entityClazz> q = getDs().createQuery(entityClazz)
                          .field("customId").equal(customId)
                          .get()
UpdateOperations<entityClazz> uop = getDs().createUpdateOperations(entityClazz)                                               .set("name", "XYZ");


getDs().update(query, uop, true);

【讨论】:

  • 是否有一种方法是传递整个项目而不是更新每个字段?
猜你喜欢
  • 1970-01-01
  • 2011-07-30
  • 2014-10-23
  • 2013-04-19
  • 2015-08-14
  • 2023-03-17
  • 2010-12-10
  • 2015-07-04
  • 1970-01-01
相关资源
最近更新 更多