七叶笔记 » 数据库 » Mongoose 在egg中的使用详解

Mongoose 在egg中的使用详解

3、连接数据库

在根目录下的/config/config.default.js增加配置,其中url为我们的数据库地址,可通过环境变量来区分开发环境还是生产环境,并且确定是否使用用户名密码的数据库 const prod = process.env.npm_config_server_prod;

4、配置与使用

(1)数据表配置

在app目录下新建model文件夹,在model文件夹下新建JS文件作为数据表的配置内容,下面以书籍表的配置为例

可以看到我们可以通过Schema来定义表结构,可以指定字段的类型及关联,设置完字段后就可以生成model了,这里算是非常简单的配置,更多配置方法可参考文档

(2)、使用mongoose方法

配置完数据表结构后,我们就可以再service层中调用mongoose的方法对文档进行增删查改了,已书籍列表的处理逻辑为例子

可以看到,通过this.ctx.model.Book就可以获取到Book的model并且可以调用mongoose需要的方法,例如populate、find、and、sort、skip、limit 等等。

5、egg-Mongoose常用的方法

增加数据

其中data为json数据结构,callback为操作后的回调函数

查询数据

获取所有数据,返回是一个数组

获取一个数据,返回是一个对象

条件查询

其中conditions为查询的条件,callback为回调函数 conditions有一下几种情况:

具体数据:

条件查询:

或查询 OR

删除数据

更新数据

conditions为条件,update是更新的值对象

排序

其中-1表示降序返回。 1表示升序返回

限制数量

number表示限制的个数

跳过文档返回

number表示跳过的个数,skip经常搭配limit实现分页的功能

条件数组and

在find后面可使用and对查询结果进行进一步条件筛选,相当于并且的意思。

关联查询populate

聚合管道Aggregate

Mongoose聚合管道aggregate常用的操作有$project 、$match 、$group、$sort、$limit、$skip、$lookup 表关联

批量操作bulkWrite

可以进行一系列批量增加、删除、更新等操作。

mongoose还有非常多的方法可以提供给我的灵活使用,我们在使用的时候可以结合业务逻辑选择合适的方法来提高我们操作数据库的效率。在我们使用它之前可以认真的阅读官方文档

总结

到此这篇关于Mongoose 在egg中的使用详解的文章就介绍到这了,更多相关egg中使用Mongoose内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章