前两篇我写到 Node.js 搭建 web 程序 之 使用基础 和 Node.js 搭建 web 程序 之 路由配置,现在这篇博客主要是讲述的MongoDB数据库。

下载安装MongoDB和可视化工具RoboMongo

MongoDB官网下载RoboMongo(现已更名Robo 3T)下载

这两个工具我已经上传至CSDN MongoDB和RroboMongo下载,大家可以免费下载。

安装完成后,我们需要MongoDB配置环境变量,和Node.js是一样的。

MongoDB开机

首先我们新建一个空的文件夹,名字自定义,我建在了D盘,文件夹名为 MongoDB,打开CMD

mongod --dbpath 数据存放的路径

nestjs 连接 mongodb连接带有账号密码的_mongodb


执行完成后文件家里新增了很多数据库脚本文件,这些脚本文件可以直接复制到服务器中或者其他地方。

nestjs 连接 mongodb连接带有账号密码的_mongodb_02


当出现了27027代表着数据库开机成功了,但是**CMD窗口不要关闭**。

nestjs 连接 mongodb连接带有账号密码的_数据库_03

RoboMongo可视化工具使用

创建数据库

我们先创建一个数据集合,

nestjs 连接 mongodb连接带有账号密码的_mongodb_04


创建数据库

nestjs 连接 mongodb连接带有账号密码的_nodejs_05


创建集合

nestjs 连接 mongodb连接带有账号密码的_mongodb_06

Node.js 连接MongoDB

下载mongodb
链接MongoDB我们需要下载MongoDB的包,在项目的文件夹中打开CMD窗口

npm install mongodb@2.0.43

导入mongodb
下载完成后我们需要导入到项目中

var mongodb = require('mongodb')

链接MongoDB
尝试链接创建的数据库,url 是数据库的地址mongodb://localhost:27017/ 加上 数据库的名称 userDB

var MongoClient = mongodb.MongoClient;

var url = 'mongodb://localhost:27017/userDB'

MongoClient.connect(url, function(err, db) {
    console.log('链接成功')
})

nestjs 连接 mongodb连接带有账号密码的_mongodb_07


插入数据

链接成功后我们尝试在user表中添加一条用户数据,添加完成后一定要关闭数据库db.close()

MongoClient.connect(url, function(err, db) {
    db.collection("user").insertOne({
        name: "CrazysRabbit",
        pwd: '123456'
    }, function(err, result) {
        db.close()
    })
})

打开我们可视化的工具,我们可以看见刚刚添加的数据在user表中。

nestjs 连接 mongodb连接带有账号密码的_数据_08


查询数据

查询刚添加的CrazysRabbit的数据,返回了数据的集合

MongoClient.connect(url, function(err, db) {
    db.collection('user').find({
        name: 'CrazysRabbit',
    }).toArray(function(err, result) {
        console.log(result)
        db.close()
    })
})

nestjs 连接 mongodb连接带有账号密码的_nodejs_09


更新数据

将刚添加的数据修改一下密码

MongoClient.connect(url, function(err, db) {
    db.collection('user').updateOne({
        name: 'CrazysRabbit',
    }, {
        $set: { 'pwd': '112233' }
    }, function(err, result) {
        db.close();
    })
})

打开可视化工具,我们可以看见数据密码已经更新成功了。

nestjs 连接 mongodb连接带有账号密码的_mongodb_10


删除数据

将用户给删除

MongoClient.connect(url, function(err, db) {
    db.collection('user').deleteOne({
        'name': 'CrazysRabbit',
    },function(err,result){
        db.close()
    })
})

nestjs 连接 mongodb连接带有账号密码的_nodejs_11


当然MongoDB还有其他的一些数据操作,具体的可以自行查阅资料,这里就不细说。

下篇将记录 Node.js + MongoDB数据库实现用户的登录注册的一个小案例,敬请关注哦。