NodeJS中连接MongoDB数据库

NodeJS中连接MongoDB数据库

本例中下载安装在本地的是 MongoDB 3.6.9 版本

一:2.x 版本连接数据库的js代码:

var express = require("express");
var app = express();
var MongoClient = require('mongodb').MongoClient;


app.get("/",function(req,res){
    //URL就是数据库的地址。/表示数据库
    //加入数据库不存在,程序会帮你自动创建一个数据库
    var url = 'mongodb://localhost:27017/haha';
    //连接数据库
    MongoClient.connect(url, function(err, db) {
        //回调函数表示连接成功后做的事情,db参数就是连接上的数据库实体
        if(err){
            console.error("数据库连接失败!");
            return;
        }else{
            console.log("数据库连接成功!");
            db.close();
        }
    });
    res.send("ok");
});

app.listen(3005);

运行结果:
在这里插入图片描述
报错信息:
当前的URL字符串解析器被弃用然后也提供了解决方案 让你在选项里面{useNewUrlParser: true}
解决办法:
MongoClient.connect(url,{useNewUrlParser:true}, function(err, db) {
重新运行后数据库可以重新连接。

3.x 以后版本连接数据库且插入数据的 js代码:

var express = require("express");
var app = express();
var MongoClient = require('mongodb').MongoClient;


app.get("/",function(req,res){
    //后面URL就是数据库的地址。/后面表示数据库
    //假如数据库不存在,程序会帮你自动创建一个数据库
    var url = 'mongodb://localhost:27017/';


    //连接数据库
    MongoClient.connect(url,{useNewUrlParser:true}, function(err, client) {
        //回调函数表示连接成功后做的事情,db参数就是连接上的数据库实体
        if(err){
            console.error("数据库连接失败!");
            return;
        }else{
            console.log("数据库连接成功!");
            //获得数据库实体
            var db = client.db("haha");

            //要插入的数据
            var data = {"name":"哈哈","age":parseInt(Math.random()*100+10)};

            //插入数据到 student 集合里,集合如果不存在,程序也会帮你创建
            db.collection("student").insertOne(data,function(err,result){
                //插入之后做的事,result表示插入结果
                if(err){
                    console.error("插入失败!");
                }else{
                    console.log("插入数据成功!");
                    client.close(); //关闭数据库
                }
            });
    });
    res.send("ok");
});

app.listen(3005);

改变之处:
MongoClient.connect(url,{useNewUrlParser:true}, function(err, client) {});
client.close();
运行结果:
在这里插入图片描述
在这里插入图片描述
可见,已经成功连接数据库,且插入了数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值