Node.js -- MongoDB

文章目录

  • [1. 相关介绍](#1. 相关介绍)
  • [2. 核心概念](#2. 核心概念)
  • [3. 命令行交互](#3. 命令行交互)
    • 3.1数据库命令
    • [3.2 集合命令](#3.2 集合命令)
    • [3.3 文档命令](#3.3 文档命令)
  • [4. 数据库应用场景](#4. 数据库应用场景)
    • [4.1 新增](#4.1 新增)
    • [4.2 删除](#4.2 删除)
    • [4.3 更新](#4.3 更新)
    • [4.4 查询](#4.4 查询)
  • [5. 图形化工具Robo 3T](#5. 图形化工具Robo 3T)

1. 相关介绍

一、简介

  1. Mongodb是什么

MongoDB是一个基于分布式文件存储的数据库,官方地址https://www.mongodb.com/try/download/community

  1. 数据库是什么

数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序

  1. 数据库的作用

数据库的主要作用就是管理数据,对数据进行增(c)删(d)改(u)查(r)

  1. 数据库管理数据的特点

相比于纯文件管理数据,数据库管理数据有如下特点:

  • 速度更快
  • 扩展性更强
  • 安全性更强
  1. 为什么选择Mongodb

操作语法与JavaScript类似,容易上手,学习成本低

2. 核心概念

Mongodb中有三个重要概念需要掌握

  • 数据库(database)数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存放很多集合
  • 集合(collection)
    集合类似于JS中的数组,在集合中可以存放很多文档
  • 文档(document)
    文档是数据库中的最小单位,类似于JS中的对象

数据库中有属性,属性对应的值叫做集合,而集合中的对戏那个就是一个文档。

大家可以通过JSON文件来理解Mongodb中的概念

  • 一个JS0N文件好比是一个数据库,一个Mongodb服务下可以有N个数据库
  • JSON文件中的一级属性的数组值好比是集合
  • 数组中的对象好比是文档
  • 对象中的属性有时也称之为字段

一般情况下

  • 一个项目使用一个数据库
  • 一个集合会存储同一种类型的数据

下载地址:https:/www.mongodb.com/try/download/community

建议选择zip类型,通用性更强

配置步骤如下:

  1. 将压缩包移动到C:\Program Files下,然后解压
  2. 创建c:\data\db目录,mongodb会将数据默认保存在这个文件夹
  3. 以mongodb中bin目录作为工作目录,启动命令行
  4. 运行命令mongod,启动服务

我们一般发送的是http 协议,但是mongo 数据库发送的是mongo 协议,我们需要在打开mongodb 的同时再打开一个cmd 窗口,输入mongo ,出现下面的情况就证明我们的服务端和客户端建立了连接。

show dbs

展示可用的数据库

不能选中服务端内容,如果被选中的话就相当于停止了服务;如果选中可以按回车

3. 命令行交互

命令行交互一般是学习数据库的第一步,不过这些命令在后续用的比较少,所以大家了解即可

3.1数据库命令

  1. 显示所有的数据库

show dbs

  1. 切换到指定的数据库,如果数据库不存在会自动创建数据库

use 数据库名

  1. 显示当前所在的数据库

db

  1. 删除当前数据库

use 库名 --> 先切换到删除的数据库

db.dropDatabase() --> 删除当前数据库

3.2 集合命令

  1. 创建集合

db.createCollection('集合名称')

  1. 显示当前数据库中的所有集合

show collections

集合名称一般都写复数

  1. 删除某个集合

db.集合名.drop()

  1. 重命名集合

db.集合名.renameCollection('newName')

3.3 文档命令

  1. 插入文档

db.集合名.insert(文档对象)

  1. 查询文档

db.集合名.find(查询条件)

  1. 更新文档

db.集合名.update(查询条件,新的文档)

db.集合名.update({name:'张三'},{$set:{age:19}})

默认更新全部数据

  1. 删除文档

db.集合名.remove(查询条件)

4. 数据库应用场景

4.1 新增

  • 用户注册
  • 发布视频
  • 发布商品
  • 发朋友圈
  • 发评论
  • 发微博
  • 发弹幕
  • ...

4.2 删除

  • 删除评论
  • 删除商品
  • 删除文章
  • 删除视频
  • 删除微博
  • ...
    某些项目会设置例如is_deleted 属性,如果属性值为true,数据就会被删除,但是如果为false ,可能就为伪删除,可以实现用户的某些误删数据的恢复

4.3 更新

  • 更新个人信息
  • 修改商品价格
  • 修改文章内容
  • ...

4.4 查询

  • 商品列表
  • 视频列表
  • 朋友圈列表
  • 微博列表
  • 搜索功能
  • ...

5. 图形化工具Robo 3T

我们可以使用图形化的管理工具来对Mongodb进行交互,这里演示两个图形化工具
Robo 3T 免费
https://github.com/Studio3T/robomongo/releases
Navicat 收费
https://www.navicat.com.cn/

相关推荐
志尊宝1 小时前
Vue3 环境搭建 + 第一个 HelloVue 项目(零基础入门)
vue.js·node.js·vue·css3
俭朴的奇异果3 小时前
MongoDB实战开发 【零基础学习,附完整Asp.net示例】
学习·mongodb·asp.net
张一根1 天前
ESP32+Mqtt+Node.js+Vue3 做工控界面
node.js
TE-茶叶蛋1 天前
Node.js-Phase 1 学习总结:CLI 文件管理系统
学习·node.js
前端之虎陈随易2 天前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·vue.js·人工智能·typescript·node.js
行思理2 天前
MongoDB 大数据备份,新手教程
数据库·mongodb
meilindehuzi_a2 天前
从零开始:用原生 Node.js 徒手拆解 RAG 与向量检索底层原理
node.js·rag
炒毛豆2 天前
ai全栈-node.js相关的学习之路(草稿版)
学习·node.js
meilindehuzi_a2 天前
解密 MCP 协议:如何用 Node.js 从零手写一个本地文件读取 MCP 服务器
运维·服务器·node.js
大郭鹏宇3 天前
MongoDB快速实战与基本原理入门
数据库·mongodb