mongoose中实例方法和静态方法分别在哪些业务上使用?

发布于 2022-09-05 02:38:53 字数 422 浏览 6 评论 0

// 添加 mongoose 实例方法
mongooseSchema.methods.findbyusername = function(username, callback) {
    return this.model('mongoose').find({username: username}, callback);
}
// 添加 mongoose 静态方法,静态方法在Model层就能使用
mongooseSchema.statics.findbytitle = function(title, callback) {
    return this.model('mongoose').find({title: title}, callback);
}

上面两个感觉实例和静态都可以,

那么 mongoose中实例方法和静态方法分别在哪些业务上使用?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷︶言冷语的世界 2022-09-12 02:38:53

我就发表下我的理解哈:

静态方法给我感觉就是大规模时使用的方法
实例方法则是一个具体事物使用的方法

举个栗子:

对于静态方法:
我想查找所有的故事书(而且以后经常查找),但不想每次都用原生方法 Book.find({category:story}) ,写起来好麻烦,
于是我就可以定义一个静态方法:以后就可以这么查 Book.isStory() 就ok了

对于实例方法:
比如我想根据具体的一本书,比如《不平凡的世界》查找和和它类似的书,则定义实例方法 doc.isSimilar(xxx)
实例方法嘛,调用者是具体的实例,此处肯定不能用静态方法吧。

以前仅供参考,希望有帮助,如果没帮助,可以看看java相关的,因为那里面也有静态方法实例方法,可以借鉴下思想

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文