一、概念解析:

Mongoose:

Let’s face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That’s why we wrote Mongoose.

Mongoose简单来说就是数据库操作ORM

createConnection 与 connect:

许多入门学徒在看到这两个函数的时候都会有一定疑惑,但是这两个函数其实并不是一个东西,

createConnection 创建的并非一个默认的数据库连接,它返回的是一个Connection。我们需要通过这个Connection来创建Model、Instance,然后进行数据表操作,这通常是在程序需要连接多个数据库的情况下使用,否则一般使用connect来打开默认的数据库连接,这时候我们就可以用mongoose.model来创建我们的Model了。

VS

必解名词:

Schema : 数据库存储格式的约定协议,可以理解为数据表的字段类型声明。

Model :  由Schema转化的数据模型,具有抽象属性和行为的数据库操作,可以进行查询操作

Instance: 由Model创建的实体操作对象,可以对数据库表进行完整的CRUD操作

 

二、Mongoose 使用

  1. 安装mongoose

  1. 连接数据库

  1. 声明一个Schema模型

  1. 将声明的Schema转化为Model

  1. 将Model实例化为Instance

  1. Instance 进行数据库CRUD操作

  1. 使用Modal进行表查询操作

三、结合KOA框架

在KOA中,回调已经基本被抛弃了,所以我们还是来看下KOA中mongoose活得怎么样吧。

CRUD操作如今需要加入yield 来确保我们主调调能耐心等待newUser.save()/User.find()的完成,那我们就去掉回调加上yield吧:

既然没了错误处理,那么我们以回调实现的错误上报怎么办呢?别忘了,我们还有try catch,好了,套上他们就可以完成错误捕获了:

以上是Mongoose与KOA框架结合的一个简单入门,因为时间关系就只介绍到这里了,希望能对mongoose新手有所帮助。

原创文章转载请注明:

转载自AlloyTeam:http://www.alloyteam.com/2015/06/mongoosekoa-shi-yong-ru-men/

  1. 少帅 2017 年 6 月 21 日

    终于找到一篇讲解简单,没有很多的听不懂的专业术语,对我的项目开发很有帮助,谢谢博主,谢谢团队博客,继续关注中

发表评论