【发布时间】:2017-08-25 16:22:18
【问题描述】:
使用 Mongoose 或普通的 MongoDB 驱动程序,有没有办法在第一次设置字段后锁定字段不被更新?
【问题讨论】:
-
你为什么不能不覆盖那个属性?
-
我们的业务逻辑规定第一个值是正确的。对该值的任何更改都将被忽略;但是我们可以更新文档中的其他字段,而不是那个特定的字段。毕竟,它有点像 _id 字段。
-
在您编写的整个软件中从不更改它? (您可以确保在测试中包含更新操作的此业务逻辑。此外,如果您始终使用更新操作符而不进行全面文档替换(您不应该这样做),那么您会没事的。
-
在应用程序级别执行此操作有点痛苦。问题是如果我编写一个更新查询,例如
Model.update(condition, data, options, cb),那么我无法阻止更改预先存在的文档的字段。 -
请注意,我的问题与这个问题非常相似 - stackoverflow.com/questions/24824657/…