node.js之 koa框架 将json文件中的数据写入mongodb数据库中

mongodb是一种以键值对存储数据的数据库

这种和我们的json格式的数据很类似,像其他的关系型数据库 我们可以通过sql文件导入的形式 将数据导入数据库

既然mongodb是键值对的形式 我们也可以将json文件导入到mongodb数据库中

今天就是以koa框架 进行数据的导入 首先我们先在koa项目下创建一个data的文件夹然后复制进去我们的user.json文件

思路是创建一个路由 通过网页访问路由地址 执行我们的导入操作

先定义我们mongodb的集合规范  Use.js

const mongoose=require('mongoose');

const Schema=mongoose.Schema; // 声明

const userSchema=new Schema({
    id:Schema.Types.ObjectId,
    name:String,
    img:String
})

mongoose.model('User',userSchema);   // 发布数据模型

然后在创建路由的文件夹下 创建  user.js的路由文件

const Koa=require('koa');
// 引入路由
const Router=require('koa-router');

let router=new Router();
// 引入mongodb数据库
const mongoose=require('mongoose');
// 引入文件操作
const fs=require('fs');
// 将json数据写入数据库中
router.get('/insertUser',async ctx=>{

// 读取json文件 记住 这个路由文件最后也是要引入 开启服务器的那个 主文件 所以是相对于主文件的 所在位置不是相对于这个user.js文件
    fs.readFile('./data/user.json','utf8',(err,data)=>{     //  异步文件读取操作
        data=JSON.parse(data); // 将读取的文件内容 转换成json对象 格式
        const User=mongoose.model('User'); // 引入发布的那个模型
        data.map((item,index)=>{    //  将数据集合进行操作  map不仅仅是 数组的函数 对于对象结构数据照样可以使用

            const user=new User(item)     // 导出一个json对象  存进去一次
            user.save().then(()=>{
                console.log('存入成功')
            }).catch(err=>{
                console.log('存储失败'+err);
            })
        })
    });
    ctx.body="导入数据";
})

发布了153 篇原创文章 · 获赞 64 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yunchong_zhao/article/details/104332591