何时使用架构实例方法和静态变量

时间:2019-08-10 13:56:27

标签: mongoose mongoose-schema

我知道方法是向文档添​​加实例方法,而静态方法是向模型本身添加静态“类”方法。但是,我不明白何时使用实例以及何时使用静态类。

我应在什么情况下创建实例并附加方法,应在什么情况下将静态函数附加至模型本身?

1 个答案:

答案 0 :(得分:0)

需要玩集合的文档(猫鼬实例对象)的场景将需要实例方法。最好的例子可能是比较密码或验证其他密钥。另外,在首先获取数据然后需要执行方法的情况下,也会使用实例方法。

另一方面,当您想基于可用的模型方法实现某些功能时,将使用静态方法。最好的例子就是,假设您有一个包含 name 字段的架构,并且您在该字段上进行了很多查询。在这种情况下,您可以在猫鼬 find()方法之上创建诸如 findByName()(或其他类似方法)之类的静态方法,以完成此特定工作。

希望这会有所帮助:)