node与mysql、mongodb、redis操作

131 阅读1分钟

安装相应驱动包

npm i mysql mongoose ioredis 

mysql使用

const mysql = require('mysql')
const uuid = require('uuid')

const connection = mysql.createConnection({
    host:'127.0.0.1',
    user:'root',
    password:'root',
    database:'mytest'
})

connection.connect(error=>{
    if(error) return console.log(error)
    
    // mysql 增删改查 都用query方法
    connection.query('insert into user set ?',{
        id:uuid.v1(),
        name:'zhangsan',
        age:18
    },(error,result)=>{
        if(error) return console.log(error)
        console.log(result)
        // 查询
        connection.query('select * from users',(error,result)=>{
            if(error) return console.log(error)
            console.log(result)
            // 关闭连接
            connection.end(error=>{
                if(error) return console.log(error)
            })
        })
    })
})

mongoose

const mongoose = require("mongoose")
const url = "mongodb://localhost:27017/mytest"
mongoose.connect(url,{useNewUrlParser: true,useUnifiedTopology: true},error=>{
    if(error) {
        console.log(error)
        return throw error
    }
    const parentSchema = new mongoose.Schema({
        name: String,
        age: Number,
        address: String,
    })
    const studentSchema = new mongoose.Schema({
        name:String,
        age: Number,
        address: String,
        married: Boolean,
        parents: parentSchema
    })
    const Student = mongoose.model('student')
    
    const student = new Student({
        name: 'zhangsan',
        age: 20,
        address:'tianjin',
        married: false,
        parents: {
            name:'limi',
            age:50,
            address:'dalian'
        }
    })
    
    student.save(error=>{
        if(error){
            return throw error
        }
        
        Student.find({  },(error,data)=>{
            if(error){
                return throw error
            }
            console.log(data)
        })
    })
})

ioredis

const Redis = require('ioredis')
const redisKeyPrefix = 'myRedis:info:user:'

class UserRedisDao {
    getRedisConnection(){
        return new Redis({
            host: 'localhost',
            port: 6379
        })
    }
    
    async storeUserId(userSessionId, userId){
         const redis = this.getRedisConnection();
         redis.set(redisKeyPrefix+userSessionId,userId,'ex',1800,(error,result)=>{
             redis.quit()
         })
    }
    
    async getUserIdFromUserSessionByUserSessionId(userSessionId){
         const redis = this.getRedisConnection();
         redis.get(redisKeyPrefix+userSessionId,userId,(error,userId)=>{
             redis.quit()
             return userId
         })
    }
    
    async removeUserSessionByUserSessionId(userSessionId){
         const redis = this.getRedisConnection();
         redis.del(redisKeyPrefix+userSessionId,userId,(error,userId)=>{
             redis.quit()  
         })
    }
}