node.js+MongoDB数据库基本使用

1.下载地址

https://www.mongodb.com/try/download/community
在这里插入图片描述

2.安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这一步的Istall MongoDB Compass可以取消勾选,下载完MongoDB之后再下载。
否则下载速度会特别慢在这里插入图片描述在这里插入图片描述
点击Install等待下载即可

3.测试是否已安装

mongod --version

出现一下内容就表示安装成功了在这里插入图片描述

4.配置环境变量

右键此电脑,点击属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

把MongoDB路径下面的bin配置进去,然后点击确定即可在这里插入图片描述

5.介绍

关系型和非关系型数据库

关系型数据库(表就是关系,或者说表与表之间存在关系)。

所有的关系型数据库都需要通过sql语言来操作
所有的关系型数据库在操作之前都需要设计表结构
而且数据表还支持约束
唯一的
主键
默认值
非空

非关系型数据库

非关系型数据库非常的灵活
有的关系型数据库就是key-value对儿
但MongDB是长得最像关系型数据库的非关系型数据库
数据库 -》 数据库
数据表 -》 集合(数组)
表记录 -》文档对象
一个数据库中可以有多个数据库,一个数据库中可以有多个集合(数组),一个集合中可以有多个文档(表记录)

6.启动和关闭数据库

1.启动

打开cmd命令提示块输入 mongod,出现以下就表示数据库已经打开。
在这里插入图片描述

2.修改储存路径

mongod --dbpath=数据储存路径

3.停止

打卡控制台直接Ctrl+c即可停止

4.连接数据库

新打开一个命令提示快,输入mongo即可进行连接
在这里插入图片描述
输入exit+回车即可退出

7.基本指令

show dbs 查看显示数据库
db 查看当前数据库
use 切换指定的数据,没有将会新建
db.obj.insertOne({name:’a’,age:18}) 插入数据库
show collections 查看当前数据库已有的集合
db.obj.find() 找到指定集合下面的所有数据
db.dropDatabase() 删除现有的数据库。

8.node连接MongoDB数据库

方法一:使用第三方的mongodb包
https://www.runoob.com/nodejs/nodejs-mongodb.html
方法二:使用mongoose(推荐)
mongoose官网:http://www.mongoosejs.net/

下载:

npm i mongoose

使用:

设计Schema发布bodel

var mongoose = require('mongoose');
// 引入图表
var Schema = mongoose.Schema;
// 连接数据库
mongoose.connect('mongodb://localhost/test');
// 约定数据类型
var userMsg = new Schema({
    user: {
        type: String,
        required: true
    },
    password: {
        type: String | Number,
        required: true
    },
    email: {
        type: String
    }
});
// 将文档发布为模型
var UserMsg = mongoose.model('UserMsg', userMsg);

添加数据

// 增加数据
var addMsg = new UserMsg({
    user: 'admin',
    password: '123123',
    email: 'admin@qq.com'
});
// 持久化储存
addMsg.save((err, res) => {
    if (err) {
        console.log('保存失败');
    } else {
        console.log('保存成功', res);
    }
});

查找数据

1.查找所有的数据

UserMsg.find((err, res) => {
    if (err) {
        console.log('失败');
    } else {
        console.log(res);
    }
});

2.查找指定信息的所有数据

UserMsg.find({ user: 'admin2' }, (err, res) => {
    if (err) {
        console.log('失败');
    } else {
        console.log(res);
    }
});

3.查找指定信息的第一个数据

UserMsg.findOne({ name: 'admin' }, (err, res) => {
    if (err) {
        console.log('失败');
    } else {
        console.log(res);
    }
});

更新

findByIdAndUpdate()通过id进行更新

UserMsg.findByIdAndUpdate('616febc5dc90848c929eb9ce', { name: 'admin2' }, (err, res) => {
    if (!err) console.log(res);
});

update通过其他属性进行更新

UserMsg.update({ user: 'admin30' }, { password: 666666, email: 'mage@admin.cn' }, (err, res) => {
    console.log(res);
});

删除

UserMsg.remove({ user: 'admin' }, (err, res) => {
    if (err) {
        console.log(err);
    } else {
        console.log(res);
    }
});
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hope°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值