vue从数据库中插入数据与查找数据

版权声明:请尊重原创 https://blog.csdn.net/Ag_wenbi/article/details/87890625

1、接上一篇文章https://blog.csdn.net/Ag_wenbi/article/details/87882869

2、新建右图中的文件

3、进入user.js文件,并添加如下代码

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const ObjectId = Schema.Types.ObjectId;

//创建userSchema
const userSchema =new Schema({
    userId:{type:ObjectId},
    userName:{unique:true,type:String},//unique表示不重复
    password:{type:String},
    createAt:{type:Date,default:Date.now()},//default表示默认值
    lastLoginAT:{type:Date,default:Date.now()}
});

//发布模型
mongoose.model("user",userSchema);//这里的user对应数据库中的集合

4、下载glob(cnpm install --save glob)

5、进入init.js文件,并编辑此文件,如下

const mongoose = require("mongoose");
const db = "mongodb://localhost/smile-db";//数据库名
const glob = require("glob");//要安装glob才能引用,下文才能使用*等符号
const {resolve} = require("path");

exports.initSchemas = ()=>{
    glob.sync(resolve(__dirname,"./schema",'**/*.js')).forEach(require)//表示遍历文件夹schema下的所有js文件
}

let maxConnectTimes = 0;
exports.connect = ()=>{
    mongoose.connect(db);//连接数据库
    return new Promise((resolve,reject)=>{
        //增加数据库监听事件
        mongoose.connection.on("disconnected",()=>{//监听数据库重连
            if(maxConnectTimes <= 3){
                console.log("数据库断开连接,正在重新连接...");
                maxConnectTimes++;
                mongoose.connect(db);//连接数据库
            }else{
                reject();
                console.log("数据库出现问题");
            }
        });
        mongoose.connection.on("error",(err)=>{//监听数据库错误
            if(maxConnectTimes <= 3){
                console.log("数据库错误,正在重新连接...");
                mongoose.connect(db);//连接数据库
            }else{
                reject(err);
                console.log("数据库出现问题");
            }
        });
        mongoose.connection.once("open",()=>{//监听数据库打开的时候
            maxConnectTimes = 0
            console.log("数据库连接成功!");
            resolve()
        })
        //增加数据库监听事件
    })
}

6、进入jindex.js文件,编辑此文件,如下:

const Koa = require('koa');
const App = new Koa();
const {connect,initSchemas} = require("./database/init");
const mongoose = require("mongoose");

(async ()=>{
    await connect();//异步连接数据库操作
    initSchemas();
    const user = mongoose.model("user");//与发布模型中的user对应
    let oneuser = new user({userName:"温壁",password:"123456"});//添加对应的字段名称,与user.js中的对应
    oneuser.save().then(()=>{
        console.log("数据插入成功!");
    });
    let userInfo = await user.findOne().exec();//查找第一条数据
    console.log("----------------");
    console.log(userInfo);
    console.log("----------------");
})()

App
    .use(async(ctx)=>{
        ctx.body = "<h1>hello koa2</h1>";
    })
    .listen(3000,()=>{
        console.log("3000端口启动成功!");
    })

7、在控制台中输入node index.js,得到如下表示代码运行正常

8、打开软件,Robo 3T(没有的自己下载)

猜你喜欢

转载自blog.csdn.net/Ag_wenbi/article/details/87890625