[发明专利]一种根据TypeScript类型生成Mongoose模型的方法有效

专利信息
申请号: 202110410820.8 申请日: 2021-04-15
公开(公告)号: CN113031935B 公开(公告)日: 2023-10-27
发明(设计)人: 周伟航;马晓迪 申请(专利权)人: 杭州芯翼科技有限公司
主分类号: G06F8/30 分类号: G06F8/30;G06F8/41
代理公司: 北京久维律师事务所 11582 代理人: 邢江峰
地址: 311100 浙江省杭州市余杭*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 根据 typescript 类型 生成 mongoose 模型 方法
【说明书】:

发明公开了一种根据TypeScript类型生成Mongoose模型的方法,涉及生成Mongoose模型技术领域,具体为一种根据TypeScript类型生成Mongoose模型的方法,包括以下步骤:步骤一:开启TypeScript的类型信息输出,有两种方法均可等价;步骤二:给数据库模型类的不同条件,加上不同修饰器;步骤三:若有跨字段索引,则给数据库模型类加上@index()修饰器步骤四:若有第三方插件需要引入,则给数据库模型类加上@plugin()修饰器;步骤五:使用getSchema方法,传入数据库模型类,得到Mongoose的约束模型;步骤六:使用getModel方法,传入数据库模型类,得到有类型约束的Mongoose的数据库模型实例。本发明收集TypeScript的类型信息,自动生成Mongoose所需要的类型模型信息,并且可以使用简化的修饰器,设置类型模型的属性和索引信息。

技术领域

本发明涉及生成Mongoose模型技术领域,具体为一种根据TypeScript类型生成Mongoose模型的方法。

背景技术

TypeScript类型信息可以提供强类型语言的类型推断,可以在代码编译时检查类型约束产生的错误,降低代码书写时产生的错误。Mongoose是一种MongoDB的ODM(ObjectDocumentMapper,对象文档映射器)由于MongoDB本身是不提供类型约束的,即Collection(集合)内可以存储任意类型的Document(文档),Mongoose在此基础上实现了一套类型模型,以提供数据校验和类型约束。但是两者之间的数据尽管在逻辑上是相通的,但是在实际上并不互相兼容。

发明内容

针对现有技术的不足,本发明提供了一种根据TypeScript类型生成Mongoose模型的方法,解决了上述背景技术中提出TypeScript和Mongoose两者之间的数据尽管在逻辑上是相通的,但是在实际上并不互相兼容的问题。

为实现以上目的,本发明通过以下技术方案予以实现:一种根据TypeScript类型生成Mongoose模型的方法,包括以下步骤:

步骤一:开启TypeScript的类型信息输出,有两种方法均可等价;

步骤二:给数据库模型类的不同条件,加上不同修饰器;

步骤三:若有跨字段索引,则给数据库模型类加上@index()修饰器

步骤四:若有第三方插件需要引入,则给数据库模型类加上@plugin()修饰器;

步骤五:使用getSchema方法,传入数据库模型类,得到Mongoose的约束模型;

步骤六:使用getModel方法,传入数据库模型类,得到有类型约束的Mongoose的数据库模型实例;

步骤七:使用上步得到的数据库模型实例进行增删改查操作,可以同时得到类型提示以及数据库类型约束。

可选的,所述步骤一中的两种方法分别为:在编译时传递—emitDecoratorMetadata,以及修改tsconfig.json文件,设置compilerOptions.emitDecoratorMetadata为true。

可选的,所述步骤二中,进一步地,包括以下内容:对数据模型类加上@model()修饰器;给数据库模型类的_id字段,加上@id()修饰器;给数据库模型类的各个属性字段,加上@prop()修饰器。

可选的,所述步骤二中,进一步地,包括以下内容:给数据库模型类的各个数组字段,加上@array()修饰器;给数据库模型类必填字段,加上@required()修饰器;给数据库模型类需要索引的字段,加上@indexed()修饰器。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州芯翼科技有限公司,未经杭州芯翼科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110410820.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top