MongoDB
在这一章节中,我们选择 Typegoose 作为基础的 MongoDB ORM 库。就如同他描述的那样 " Define Mongoose models using TypeScript classes",和 TypeScript 结合的很不错。
简单的来说,Typegoose 使用 TypeScript 编写 Mongoose 模型的 “包装器”,它的大部分能力还是由 mongoose 库来提供的。
也可以直接选择 mongoose 库来使用,我们会分别描述。
相关信息:
描述 | |
---|---|
可用于标准项目 | ✅ |
可用于 Serverless | ✅ |
可用于一体化 | ✅ |
包含独立主框架 | ❌ |
包含独立日志 | ❌ |
提示
- 1、当前模块从 v3.4.0 开始已经重构,历史写法兼容,如果查询历史文档,请参考 这里。
- 2、如果代码中有读取配置,注意
mongoose.clients
可能会读不到,请使用mongoose.dataSource
。
和老写法的区别
如果想使用新版本的用法,请参考下面的流程,将老代码进行修改,新老代码请勿混用。
升级方法:
- 1、无需再使用
EntityModel
装饰器 - 3、在
src/config.default
的mongoose
部分配置调整,参考下面的数据源配置部分- 3.1 修改为数据源的形式
mongoose.dataSource
- 3.2 将实体模型在数据源的
entities
字段中声明
- 3.1 修改为数据源的形式