Node.js 搭建 web 程序 之 连接MongoDB

前两篇我写到 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 数据存放的路径

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

在这里插入图片描述
当出现了27027代表着数据库开机成功了,但是**CMD窗口不要关闭**。

在这里插入图片描述

RoboMongo可视化工具使用

创建数据库

我们先创建一个数据集合,
在这里插入图片描述
创建数据库
在这里插入图片描述
创建集合
在这里插入图片描述

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('链接成功')
})

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

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

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

在这里插入图片描述
查询数据
查询刚添加的CrazysRabbit的数据,返回了数据的集合

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

在这里插入图片描述
更新数据
将刚添加的数据修改一下密码

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

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

在这里插入图片描述
删除数据
将用户给删除

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

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

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

发布了33 篇原创文章 · 获赞 24 · 访问量 5520

猜你喜欢

转载自blog.csdn.net/qq_39157944/article/details/104796136