Node连接数据库

MongoDB

cnpm install mongodb
Mongodb: 命令行cd 进入 D:\Program Files\MongoDB\Server\3.4\bin 目录下(我安装所在目录)
执行服务端的执行文件 mongod.exe --dbpath D:\mongodb\db (注意要先在D盘底下先创建好这个文件夹)
D:\mongodb\db 是存储数据的文件目录
此时已成功开启运行数据库(实例看mongodbTest)

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/me'; # 数据库为 me

1.使用mongo命令将数据库删除: 即另开一个cmd 输入 mongo 命令进入
show dbs; 查看所有数据库
use db_name;
db.dropDatabase()
2.导入(指定文件夹)数据:
linux命令:mongorestore -d db_name 文件夹目录
windows命令:mongorestore.exe -d db_name 文件夹目录
3.导出备份数据:
MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exe 和 mongorestore.exe 文件.
例如:mongodump -h dbhost -d dbname -o dbdirectory
dbhost 填 127.0.0.1:27017 dbname填要备份的数据库名 dbdirectory要放到哪里

部署到服务器的话,后台运行 先 cd /usr/local/mongodb
执行 ./bin/mongod --dbpath /root/mongodb --logpath /root/mongodb/mongodb.log --fork --port 27017
通过 ps aux | grep mongodb 查看进程
补充一下mongo后台运行代码
mongod --dbpath /root/mongodb --logpath /root/mongodb/mongodb.log --logappend &

mongoose.connect(db)
    .then(() => console.log("MongoDB Connected"))
    .catch(err => console.log(err));

db是单独把数据库的Url等配置信息独立出来的文件中的导出的对象。

总结Schema、Model、Entity的关系:
Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力。
Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对。
Entity : 由Model创建的实体,他的操作也会影响数据库。

Schema、Model、Entity的关系是:Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。

Mysql

cnpm install mysql
mysql:先打开压缩包中的 start.bat 开启数据库服务(压缩包版)
用navicat连接 用户名为 localhost 密码 空 "" 具体看MysqlTest
创建连接:

// 数据库连接池
var pool = mysql.createPool({
    host:config.database.HOST, 
    user:config.database.USER,
    password:config.database.PASSWORD,
    database:config.database.DATABASE
        // config 对象是独立出来数据库配置信息所导出的对象
});

// 执行sql语句的统一方法
var query = (sql,val) => {
    return new Promise((resolve,reject)=>{
        pool.getConnection((err,connection)=>{
            if (err){
                return resolve(err)
            } else{
                connection.query(sql,val,(err,rows)=>{
                    if (err) {
                        reject(err)
                    }else{
                        resolve(rows)
                    }
                    connection.release()
                })
            }
        })
    })
}

// 初始化建表执行方法
let createTable = ( sql ) => {
  return query( sql, [] )
}

createTable(users)
createTable(comments)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 参考资料https://www.npmjs.com/package/mongodbhttps://docs.mon...
    程序员有话说阅读 840评论 0 4
  • Address:https://www.zybuluo.com/XiangZhou/note/208532 Exp...
    天蠍蒗漫阅读 11,664评论 2 55
  • 我要健康,这样就不会麻烦别人。 我要智慧,这样就不会麻烦别人。 健身,学习, 要有计划, 要有思考, 这是一个需要...
    33174dada65f阅读 186评论 0 0
  • 五月二十号,晚上八点,A大东八栋c308宿舍,多疑女,纠结女,暗恋女,兵荒马乱。 多疑女在阳台、宿舍...
    九月九层塔阅读 263评论 0 2
  • 东方快车谋杀案的小说自出版后,已经多次被改编为影视作品,故事早已为大家熟知,作为经典它的魅力从未减弱,这次在电影上...
    李超宇阅读 288评论 0 0

友情链接更多精彩内容