Mongoose - 更新模型的实例方法,这是一个好习惯吗?

UpT*_*eek 4 mongoose mongodb

我正在使用一些mongoose模型实例方法来尝试封装一些业务逻辑,而不是在我的应用程序中传播.一个例子:

 MySchema.methods.doSomethingAndUpdateCount = function (somedata) {
        //Do something to model here using somedata
        this.someCount ++;
        this.save();
 };
Run Code Online (Sandbox Code Playgroud)

我今天一直在看这个,但我不确定这是不是很好的做法.首先,它并没有真正给应用程序的一部分使用这种方法来处理错误.也许问题是this.save();- 也许这不应该在实例方法中,而是由方法的使用者调用.所以...

  • 使用更新实例数据的实例方法是一种好习惯吗?
  • 如果是这样,您应该this.save();从实例方法调用,还是在使用代码时执行此操作?
  • 在这种情况下你应该如何处理错误?

Joh*_*yHK 5

一般概念很好,但是您的实例方法应该支持一个回调参数,您可以提供该参数进行保存,this.save(callback);以便可以通知客户端错误.

  • 作为设计反馈的另一点,通常方法名称中不应包含单词"and".在架构上,设计了最好和最优雅的系统,因此每种方法只做一件事. (2认同)