看了 egg 官网教程的文档之后有疑问:
mysql 插件 比如我使用了 egg-mysql
插件之后,在 Service
层,对数据库进行创建、读取、更新、删除分别使用 app.mysql.insert
app.mysql.get/select
app.mysql.update
app.mysql. delete
四个api。 这几点是蛮清楚的。
但是后面的,Sequelize 插件 使用 sequelize 这个插件之后,我看的不是很明白,
这几个 api 在 Class User
中也没有定义对应名称的方法,那是哪里来的呢?官网的文档里我好像没有找到对应的说明,具体还有哪些 findXXX
的 api ,作为一个小白,表示不清楚的。
egg-sequelize github 中 比如这里的两个方法,一个是 class 中定义的,findAll 函数是 model 中的吧
看了 egg-cnode 的部分代码,搜索了一下类似 findXXX
的函数,
。
另外,我也搜索了一些egg 的项目,发现也有一些项目是不用 egg-mysql
的,只使用 egg-sequelize
,而创建、查询 能够直接使用 app.model.Class.create
和 app.model.Class.findOne/findAll/findById
因为确实我是个菜鸡,看了 egg 官网 mysql 和 sequelize 的教程之后,对于这几个 findXXX api 的使用确实产生了疑问,sequelizejs 官网 doc, 老跪,也不知道去哪里问了。
emmm 最后 总结一下我的问题,官网为什么搜索不到 Model 相关的文档? 尤其是跟数据库相关的这几个 findXXX 函数的说明部分?(感觉对菜鸟还是有必要的,比如光看官网的示例代码,并不能知道所有能使用的 model 原型链上的 findXXX 函数都有哪些) 。 手动 @atian25
因为这几个函数,都是 sequelize 本身的功能, egg 只是做了简单的约定,实现了 Loader 和 目录规范而已。
对应的 Model 的 API,还是要去学习 sequelize 本身。
注意: Model 目前有 sequelize 和 mongodb 2 个不同的插件
sequelize中文1 https://demopark.github.io/sequelize-docs-Zh-CN/ 中文2 https://itbilu.com/nodejs/npm/VkYIaRPz-.html 另外egg-cnode的数据库是mongo
另外科学上网看官网是必备技能,官网的References参考部分是最全的。