通过 node 将本地 json 文件中的数据存储到 mysql

  最近从 wepy 的案例 中看到了一款诗词墨客的小程序,风格很喜欢,在这个小程序的README.md中又发现了中华古诗词数据库 chinese-poetry,便想着拿这些数据通过 node 导入 mysql 练练手,https://github.com/liuxy0551/node-chinese-poetrynode 代码:node-mysql

  这些 json 文件的获取建议直接 clone chinese-poetry的仓库,我是使用cnpm install chinese-poetry -D后从node_modules中复制的文件内容,作了一些筛选。

一、整理数据

  将本地文件名和数据库表名对应:/node-mysql/index.js

二、读取文件

  拼接路径和文件名,读取本地的 json 文件:/node-mysql/file.js

三、mysql

  存储到 mysql 数据库主要使用sequelize模块:/node-mysql/mysql.js
  sequelize模块有一些注意事项,如下:

1、区分版本

注意 sequelize 的版本和 mysql 版本的对应关系:sequelize 版本

v6 版本

引擎 支持的最低版本
Postgre 9.5
mysql 5.7
MariaDB 10.1
Microsoft SQL 12.0.2000
SQLite 3.0

2、mysql2

  需要同时安装mysql2

1
npm i mysql2 -S

3、插入数据

  create 接收 logging 参数,是否显示 sql 语句日志:

1
2
3
4
5
6
7
8
9
10
11
async function insertData (k) {
return new Promise(async resolve => {
await Table.create({
id: new Date().getTime(),
title: k.title,
paragraphs: k.paragraphs.toString(),
isDelete: 0
}, { logging: false }) // 不打印日志
resolve()
})
}

参考资料

1、chinese-poetry
2、Sequelize 中文API文档

以上

随笔标题:通过 node 将本地 json 文件中的数据存储到 mysql

随笔作者:刘先玉

发布时间:2020年08月28日 - 17:39:40

最后更新:2020年08月28日 - 17:39:40

原文链接:https://liuxianyu.cn/article/node-mysql.html