文章列表 (共 625 篇,第 14/63 页)

Mongoose中文文档-指南之填充(Populate)

Mongoose中的填充查询(populate)类似关系型数据库中的“连接查询”,通过populate()函数,使你可以在一个文档中引用另一个集合中的文档,并将其填充到指定文档路径中。 备注:也有人将populate译为“联表”,本系列文档中统一使用“填充”。 概述 保存引用 填充 设置填充字段 字段选择 填充多个路径 查询条件与其它选项 ...
阅读全文 →

Mongoose中文文档-指南之中间件(Middleware)

中间件 前置(pre)中间件 后置(post)中间件 异步Post钩子 保存/验证钩子 命名冲突 关于findAndUpdate()和Query中间件的说明 错误处理中间件 同步钩子 1. 中间件 中间件也称为“前置”(pre)和“后置”(post)钩子,是在执行异步功能期间传递控制的函数。中间件在模式(Schema)级别指定,对编...
阅读全文 →

Mongoose中文文档-指南之验证(Validation)

验证器是定义于SchemaType中的验证中间件,用于文档更新或保存期间对输入值进行验证。你可以使用Mongoose内置的验证器,也可以自自定义验证器。无论哪种验证器,都可以手工或自动触发。 验证 内置验证器 unique选项不是验证器 自定义验证器 异步自定义验证器 验证错误 嵌套对象上的requied验证器 更新验证器 更新验证器与...
阅读全文 →

Mongoose中文文档-指南之查询(Queries)

Mongoose模型的很多类方法都不能直接返回查询或操作结果,其会返回一个Query对象,我们需要从Query对象中获取操作结果。Query对象是一个链式查询,我们可以在查询过程中引用其它文档,也可以流式的传输查询结果。 Queries Queries不是Promise 引用其它文档 流 1. Queries Mongoose的模型(Model...
阅读全文 →

Mongoose中文文档-指南之模型(Models)

模型是从Schema定义编译的构造函数,模型的实例称为文档。模型负责从底层MongoDB数据库创建和读取文档。 编译第一个模型 构建文档 查询 删除 更新 更改流 1. 编译第一个模型 var schema = new mongoose.Schema({ name: 'string', size: 'string' }); va...
阅读全文 →

Mongoose中文文档-指南之插件(Plugins)

Mongoose支持插件功能,我们可以将可重用的功能打包成插件,然后可以在全局级别(mongoose级别)或模式级别(Schema级别)加载插件,以实现插件的共享。 插件 全局插件 官方插件 社区支持 1. 插件 模式是可插件化的,也就是说,它允许应用预先打包的一些通用性功能来扩展其功能。这是一个非常强大的功能。 例如,我们的数据库中有多个集合...
阅读全文 →

Mongoose中文文档-指南之鉴别器(Discriminators)

Mongoose的鉴别器(Discriminator)提供了Schema间的继承机制,我们可以定义一个基础模型的schema,并通过基础模型的model.discriminator()方法来加子schema,即可实现模式的继承。 model.discriminator()函数 鉴别器保存到Event模型的集合中 鉴别器的Key 添加鉴别器的Key...
阅读全文 →