我们正在使用loopback API构建购物车。
将产品(即12345)添加到持久性数据库时,我正在检查该项目是否已存在于我的“购物车”中。如果该项目存在,我正在递增该项目的数量。但是,在递增之后我需要停止将项目添加到购物车中。
在“保存前”操作挂钩中,我是否可以取消该项目添加到数据库中。我需要能够停止保存操作。
答案 0 :(得分:1)
尝试使用findOrCreate操作挂钩。它将查找基于过滤器的现有模型,并在未找到时创建新模型。
https://apidocs.strongloop.com/loopback/#persistedmodel-findorcreate
答案 1 :(得分:1)
你应该像{amuramoto建议的那样使用findOrCreate()
。但要回答您的问题,要取消保存,请拨打next()
并输入错误:
next(err);
next(new Error('Why this is cancelled...'));
在同一模型上的前保存挂钩内调用save方法是不好的做法。无限循环可以很容易地产生。