Node.js 连接 MongoDB

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。


node连接mongodb的方法步骤:

第一步:安装模块

 cnpm install mongoose  --save

第二步:引入模块

var mongoose=require('mongoose');

第三步:配置连接

var options = {
    db_user: "myAdminUser",//添加的普通账户名
    db_pwd: "myAdminPass",
    db_host: "127.0.0.1",
    db_port: 27017,
    db_name: "jackson_YingQi",//数据库名称
    useNewUrlParser: true
};

var dbURL = "mongodb://" + options.db_user + ":" + options.db_pwd + "@" + options.db_host + 
":" + options.db_port + "/" + options.db_name;
mongoose.connect(dbURL);// 连接数据库

连接的方式有:

连接本地数据库服务器,端口是默认的:mongodb://localhost

使用用户名myAdminUser,密码myAdminPass登录localhost的admin数据库:mongodb://myAdminUser:myAdminPass@localhost

使用用户名myAdminUser,密码myAdminPass登录localhost的jackson_YingQi数据库:mongodb://myAdminUser:myAdminPass@localhost/jackson_YingQi

第四步:获取数据库连接句柄

let dbHandle = mongoose.connection;

第五步:通过数据库句柄,监听mongoose

//通过 数据库连接句柄,监听mongoose数据库成功的事件
dbHandle.on('open', function (err) {
    if (err) {
        console.log('数据库连接失败');
        throw err;
    }
    console.log('数据库连接成功')
})

第六步:定义表数据结构table.json

{
        "User": {
            "title": "String",
            "description": "String",
            "by": "String",
            "url": "String",
            "tags": "Array",
            "likes": "Number"
        }
    }

第七步:表的数据结构和表关联

let MongoDbAction = {}
let filename = path.join(path.dirname(__dirname).replace('app', ''), 'config/table.json');
let tabConf = JSON.parse(fs.readFileSync(path.normalize(filename)));
/**
 * 
 * @param table_name 表名
 */
MongoDbAction.getConnection = function (table_name) {
    //定义表数据结构
    var userModel = new mongoose.Schema(tabConf[table_name], {
        versionKey: false //去除: - -v
    })
    // 将表的数据结构和表关联起来
    // var productModel=mongoose.model('anyname',表的数据结构,表名)
    var client = mongoose.model(table_name, userModel, table_name);
    return client;
};

接下来就可以对数据库进行增、删、改、查等操作。


链接: https://www.fly63.com/course/12_755