2

我有一个AfterSave函数可以根据刚刚保存的对象的先前值更新其他内容。仅仅知道对象已经改变object.existed()是不够的。

有没有办法在不实施昂贵的解决方法和增加 API 调用次数的情况下获取对象属性的先前值?

甚至可以在AfterSave函数中获取对象的先前值吗?

当我打电话时object.previous("value"),我得到一个未定义的值。

4

2 回答 2

0

不知道这是否有帮助,或者它是否被认为是一种解决方法的成本太高,但您可以向正在更新的对象添加一列,以存储原始列的先前值。这将允许您访问AfterSave函数中的先前值。

于 2014-10-27T07:04:38.200 回答
0

不幸的是,我没有评论 dstefanis 方法的声誉。

当一个端点改变值时,这种方法很好 - 实际上我之前已经使用它来达到这个目的。

有一个关键限制是,如果多个端点正在写入,它们可能仍会继续覆盖“当前”和“旧”字段。这意味着它不能用来给出任何严格的保证——例如“这个字段永远不会被递减”。

一种冲突安全的方法是通过 objectId 进行解析查询,并获取旧值。然后,您可以自己解决冲突。我已经对此进行了测试和工作:-)

于 2015-02-26T01:02:54.193 回答