mongoose建表的一系列骚操作(对象扩展、类上扩展、虚拟属性)

一: 对象扩展(Schema.methods)

对象扩展则是一个具体事物使用的方法

对于对象扩展:
比如我想根据具体的一本书,比如《程序员的自我修养》查找和和它类似的书,则定义实例方法 doc.isSimilar(xxx)。实例方法嘛,调用者是具体的实例
在这里插入图片描述注: 对于对象扩展是一个对象的调用方法可以通过mongodb查出的对象调用她的方法,也可以用生成一个实例对象调用它的方法
在这里插入图片描述

二: 类上扩展(Schema.static)

类上扩展给我感觉就是大规模时使用的方法

对于类上扩展:
我想查找所有的故事书(而且以后经常查找),但不想每次都用原生方法Book.find({type:story}) ,于是我就可以定义一个静态方法:以后就可以这么查 Book.isStory() 就ok了,这个方法比较直接,直接用就行。
在这里插入图片描述

三: 虚拟属性(Virtuals)

Virtuals属性可以从Document中获取并设置 但它并不存在mongoDB中
在这里插入图片描述

发布了14 篇原创文章 · 获赞 4 · 访问量 265

猜你喜欢

转载自blog.csdn.net/nodeDocker/article/details/104515528
今日推荐