【问题标题】:morphia save and ignore some fieldsmorphia 保存并忽略某些字段
【发布时间】:2016-02-05 18:43:16
【问题描述】:

我的对象(myObj)看起来像这样

field1:""
,field2:""
,field3:""
........
,fieldn:""

,otherfield1:""
,otherfield2:""
,otherfield3:""

有没有办法做类似的事情

db.save(myObj).ignoreFields("otherField1", "otherField2", "otherField3");

这样,这三个字段将在此操作期间保持不变。 Morphia语法是可取的,但如果这样的事情是不可能的,那么mongo java驱动语法也可以。

【问题讨论】:

  • 你能解释一下场景和原因吗?如果您不想保留这些字段(例如),您可以将它们标记为瞬态。
  • 只有拥有一定权限的人才能更新这些字段

标签: java mongodb morphia


【解决方案1】:

听起来这是您的应用程序/业务逻辑需要检查的工作。我的意思是您的代码在更改对象内的这些字段之前停止检查权限,并让 Mongo/Morphia 保存整个文档。

您的另一个选择是使用 MongoDB 的更新 API 来 $set 只需要更改的字段:https://docs.mongodb.org/manual/reference/operator/update/set/

最后 - 也许您可以重构以将这些安全字段存储在另一个集合中的单独文档中,但这又让您回到管理业务逻辑中的权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    相关资源
    最近更新 更多