Node.js -- MongoDB

文章目录

  • 1. 相关介绍
  • 2. 核心概念
  • 3. 命令行交互
    • 3.1数据库命令
    • 3.2 集合命令
    • 3.3 文档命令
  • 4. 数据库应用场景
    • 4.1 新增
    • 4.2 删除
    • 4.3 更新
    • 4.4 查询
  • 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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/5988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入图像分类:使用美国手语数据集训练定制化神经网络

引言 在前一篇博客中,我们探讨了如何使用MNIST数据集训练一个基础的神经网络来进行手写数字识别。在本文中,我们将更进一步,使用美国手语字母表(ASL)数据集来构建一个定制化的图像分类模型。通过这个过程,…

[嵌入式系统-53]:嵌入式系统集成开发环境大全 ( IAR Embedded Workbench(通用)、MDK(ARM)比较 )

目录 一、嵌入式系统集成开发环境分类 二、由MCU芯片厂家提供的集成开发工具 三、由嵌入式操作提供的集成开发工具 四、由第三方工具厂家提供的集成开发工具 五、开发工具的整合 5.1 Keil MDK for ARM 5.2 IAR Embedded Workbench(通用)、MDK&…

EasyRecovery2024汉化版电脑数据恢复软件下载

EasyRecovery是一款功能强大的数据恢复软件,其主要功能包括但不限于以下几点: 硬盘数据恢复:能够扫描本地计算机中的所有卷,建立丢失和被删除文件的目录树,实现硬盘格式化、重新分区、误删数据、重建RAID等硬盘数据恢…

欧拉回路(leetcode 重新安排行程)

先学习一下欧拉回路是怎么一回事。 对于图中这七个节点,从节点1出发,最终要到达节点1,并且每条路只能走一次,且每条路都得走过一次。 使用dfs,如果算法按照字典序的排列方式选择下一个节点。 第一部分:那…

解救应用启动危机:Spring Boot的FailureAnalyzer机制

目录 一、走进FailureAnalyzer 二、在Spring Boot中如何生效 三、为什么可能需要自定义FailureAnalyzer 四、实现自定义基本步骤 (一)完整步骤要求 (二)注册方式说明 通过Spring Boot的spring.factories文件(建…

ChatGPT等AI大模型输出格式错误优化分享

#ChatGPT/坑 当 ChatGPT没有按照要求的格式输出 省时间,直接上结论 切换模型也不太好使,捕获异常回调重试发送提示词也不太好使。 原因是相同的提示词会触发类似 “缓存” 的东西持续输出错误的结果,至上与上次输出的 70% 都是相同的&…

EMP.DLL是什么东西?游戏提示EMP.DLL文件缺失怎么解决

emp.dll文件是Windows操作系统中的一种动态链接库文件,它被设计为可以被多个程序共享使用的模块化文件。这种设计旨在提高系统效率,减少内存消耗,并简化软件的维护和更新。DLL文件通常包含了一系列相关的函数和变量,这些函数和变量…

基于java,SpringBoot和VUE的求职招聘简历管理系统设计

摘要 基于Java, Spring Boot和Vue的求职招聘管理系统是一个为了简化求职者与雇主间互动流程而设计的现代化在线平台。该系统后端采用Spring Boot框架,以便快速搭建具有自动配置、安全性和事务管理等特性的RESTful API服务,而前端则使用Vue.js框架构建动…

使用unreal engine5.3.2创建c++第一人称游戏

UE5系列文章目录 文章目录 UE5系列文章目录前言一、NuGet 简介二、解决方法: 前言 为了使用unreal engine5.3.2创建c第一人称游戏,今天安装了Visual Studio 2022专业版。在ue5中创建c工程,结果编译器报错: 严重性 代码 说明 项目…

UE5入门学习笔记(六)——编译低版本插件

对于有些低版本的插件,可以通过此方法自己编译到高版本而无需等待插件作者更新 使用工具:如图所示 步骤1:打开cmd,并使用cd命令切换到此目录 步骤2:输入如下指令 RunUAT.bat BuildPlugin -Plugin“路径1” -Package“…

06 - metastore服务、hive服务启动脚本以及相关使用技巧

目录 1、metastore服务 1.1、metastore运行模式 1.2、metastore部署 1.3、测试 2、编写Hive服务启动脚本 3、Hive使用技巧 3.1、Hive常用交互命令 3.2、Hive参数配置方式 3.3、Hive常见属性配置 1、metastore服务 Hive的metastore服务的作用是为Hive CLI或者Hiveserv…

MYSQL数据库专业术语及创建数据表详细讲解[详细版]{sql语句创建数据库语句及条件子句解析,编码格式解析,创建数据表解析,表定义字段解析,主键约束解析}

MYSQL数据库中的专业术语 数据库(Database):存储数据的集合,是数据的逻辑容器。 表(Table):数据库中存储数据的结构,由行(记录)和列(字段&#x…

【深度学习基础(2)】深度学习之前:机器学习简史

文章目录 一. 深度学习的起源1. 概率建模--机器学习分类器2. 早期神经网络--反向传播算法的转折3. 核方法 -- 忽略神经网络4. 决策树、随机森林和梯度提升机5. 神经网络替代svm与决策树 二. 深度学习与机器学习有何不同 可以这样说,当前工业界所使用的大部分机器学习…

云原生Kubernetes: K8S 1.29版本 部署Harbor

目录 一、实验 1.环境 2.Linux 部署docker compose 3.证书秘钥配置 4.K8S 1.29版本 部署Harbor 5.K8S 1.29版本 使用Harbor 二、问题 1.docker 登录harbor失败 一、实验 1.环境 (1)主机 表1 主机 主机架构版本IP备注masterK8S master节点1.2…

论文辅助笔记:TEMPO 之 dataset.py

0 导入库 import os import pandas as pd import torch from torch.utils.data import Dataset from .utils import StandardScaler, decompose from .features import time_features1 Dataset_ETT_hour 1.1 构造函数 class Dataset_ETT_hour(Dataset):def __init__(self,ro…

STM32中断系统详解

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. 中断基本概念 2. STM32中断 3. NVIC的基本组件 3.1 NVIC的基本组件 3.2 NVIC的优先级 4. EXTI外部中断 4.1 基本概念 4.2 基本结构 5. AFIO 1. 中断基本概念 中断(Interrupt&…

专注 APT 攻击与防御—工具介绍Veil-Evasion

专注 APT 攻击与防御 - Micro8 系列教程项目地址:https://github.com/Veil-Framework/Veil-Evasion 1、Veil-Evasion Veil-Evasion 是与 Metasploit 生成相兼容的 Payload 的一款辅助框架,并可以绕过大多数的杀软。 Veil-Evasion 并没有集成在kali&am…

Java零基础入门到精通_Day 9

1.ArrayList 编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择呢? 集 合 集合类的特点:提供一种存储空间可变的存储模型,存储的…

微调Mistral 7B以实现命名实体识别 (NER)

文章来源:fine-tuning-mistral-7b-for-named-entity-recognition-ner 2024 年 4 月 19 日 在自然语言处理(NLP)领域,命名实体识别(NER)被认为是一项关键任务,应用范围广泛,包括信息…

WPF基础应用

WPF参考原文 MVVM介绍 1.常用布局控件 1.1 布局控件 WPF(Windows Presentation Foundation)提供了多种布局容器来帮助开发者设计用户界面,以下是一些常用的布局: Grid: Grid是最常用的布局容器之一,它允许你通过定…