mysql - node.js怎么连接数据库
ringa_lee
ringa_lee 2017-04-17 15:46:49
0
4
610

最近在学node.js,但是不知道怎么连接数据库。没有文档可以看,求推荐。怎么用node连接mysql mongoDB redis solite?求解答

ringa_lee
ringa_lee

ringa_lee

reply all(4)
左手右手慢动作
var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'me',
  password : 'secret',
  database : 'my_db'
});

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
  if (err) throw err;

  console.log('The solution is: ', rows[0].solution);
});

connection.end();

https://github.com/mysqljs/my...

Ty80
var mongoose = require( 'mongoose' )

// Build the connection string
var dbURI = 'mongodb://127.0.0.1/my_db'
// Create the database connection
mongoose.connect(dbURI);

mongoose.connection.on('connected', function () {
    console.log('Mongoose connected to ' + dbURI);
})
mongoose.connection.on('error',function (err) {
    console.log('Mongoose connection error: ' + err)
})
mongoose.connection.on('disconnected', function () {
    console.log('Mongoose disconnected')
})
process.on('SIGINT', function() {
    mongoose.connection.close(function () {
        console.log('Mongoose disconnected through app termination')
        process.exit(0)
    })
})

The above is the code to connect mongodb through mongoose, save it as (db.js), and introduce it into the main program (assuming it is app.js)

var express = require('express');
var db = require('./model/db')    
var app = express();

//引入一个单独的router
app.use('/account', require('./routes/account'))

You can use mongoose in other places (assuming it is a separate router account.js introduced above)

var express = require('express')
var mongoose = require('mongoose')

require('../model/user')
let UserModel = mongoose.model("User")

The data model needs to be established separately. For example, we create a model/user.js file for introduction and use by the router above

var mongoose = require('mongoose')
var Schema = mongoose.Schema

var userSchema = new Schema({
    email:{type:String, index:true, unique:true},
    unm:{type:String,index:true, unique:true},
    password:String,
    role:{type:String, enum: ["student","controller","gm"], index:true},
    lang:[String],

    regTime:Number,
    year:String,
    month:String,
    day:String,
})

mongoose.model('User',userSchema)

-----Separating line-----------------------------------------

Redis can be used for session caching (of course it can also be used for temporary data storage). When used as a cache, it is similar to the following writing method. Of course, to save trouble, I use mongodb to temporarily act as a cache database

var MongoStore = require('connect-mongo')(session)

app.use(session({
    secret: ['secret1', 'secret2'],
    saveUninitialized: false, // don't create session until something stored
    resave: false, //don't save session if unmodified
    store: new MongoStore({
        url: 'mongodb://localhost/my_db',
        touchAfter: 24 * 3600, // time period in seconds
        ttl: 7 * 24 * 60 * 60 //session过期时间为7天,过期后使用cookies登陆
    })
}))
巴扎黑

mysql connection can use the library mysqljs/mysql npm install mysqljs/mysql
mongo连接可以使用库 mongoose npm install mongoose
redis连接可以使用库 redis npm install redis
sqlite连接可以使用库 sqlite3 npm install sqlite3

Each library interface is different, please refer to the official documentation
mysql readme
mongoose guide
redis readme
sqlite3 readme

PHPzhong

How about trying some ORMs for people like you? ?

  • Sequelize

  • Waterline

  • BOOKSHELF.JS

  • node-orm2

  • . . . .

According to your needs, the type of database you need to connect to, whether you need transaction support, etc., choose the appropriate one! Using ORM will be more friendly to your underlying database type switching.

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!