当前位置: 首页 > news >正文

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/

相关文章:

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. 相关介绍 一、简介 Mongodb是什么 MongoDB是一个基于分布式文件存储的数据库,官方地址https://…...

语音识别--单声道转换与降采样

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号&#xf…...

基于springboot+vue+Mysql的点餐平台网站

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...

数据库优化

一、主从读写分离 主库:主要负责数据的写入。 从库:主要负责数据的查询。 引出问题: 可能会存在主从延迟,导致主从一致性问题。查询主库的量级需要控制。数据量庞大,索引也占据存储空间,磁盘空间不足,当主库宕机后会影响所有模块的写入,需要进行数据分片,因此引出分库…...

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(一)

本系列课程,将重点讲解Phpsploit-Framework框架软件的基础使用! 本文章仅提供学习,切勿将其用于不法手段! Phpsploit-Framework(简称 PSF)框架软件,是一款什么样的软件呢? Phpspl…...

Web安全研究(七)

NDSS 2023 开源地址:https://github.com/bfpmeasurementgithub/browser-fingeprint-measurement 霍普金斯大学 文章结构 introbackground threat model measurement methodology step1: traffic analysisstep2: fingerprint analysis dataset attack statisticsbro…...

矩池云jupyter运行opengait代码 未完成版

文章目录 前言——矩池云的使用技巧1.切换源 一、下载数据集二、下载模型三、环境配置1.查看python、torch、torchvision版本2.查看一些包版本是否过高3.下载包 四、开始训练1.设置环境变量2.遇到的问题(1)torch.cuda.is_available()返回false&#xff0…...

油烟净化器买家必看!商用油烟净化器功效及使用方法盘点

我最近分析了餐饮市场的油烟净化器等产品报告,解决了餐饮业厨房油腻的难题,更加方便了在餐饮业和商业场所有需求的小伙伴们。 在选择商用油烟净化器时,了解其功效和正确的使用方法至关重要。让我们一起来盘点一下。 高效净化油烟 商用油烟…...

gitee关联picgo设置自己的typora_图床

一:去gitee官网创建仓库:typora_图床 1.百度搜索关键字:gitee,进入官网 2.进入gitee登录或者注册自己的账号 3.进入主页后,点击右上方 4.点击新建仓库 5.设置仓库名:typora_图床 6.点击5的创建&#xff0…...

深入理解网络原理1

文章目录 前言一、网络初识1.1 IP地址1.2 端口号1.3 协议1.4 五元组1.5 协议分层 二、TCP/IP五层协议三、封装和分用四、客户端vs服务端4.1 交互模式4.2 常见的客户端服务端模型 前言 随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据&…...

为什么感觉没有效果

以前在辅导小儿作业的时候,我会在常用的搜索引擎里去寻找答案,一般情况下都能解决问题。 但是最近一段时间,我发现,搜索引擎搜出来的结果还没有利用短视频搜出来的答案更全面,短视频软件不仅可以显示AI整理出来的答案…...

C++中的指针详解

C中的指针详解 在C编程中,指针是一个非常重要且基础的概念。它允许程序员直接访问和操作内存地址,为高级数据结构和算法的实现提供了基础。本文将详细讲解C中指针的概念、用法和注意事项,帮助读者深入理解并掌握指针的相关知识。 一、指针的…...

视频改字祝福 豪车装X系统源码uniapp前端小程序源码

视频改字祝福 豪车装X系统源码uniapp前端小程序源码,创意无限!AI视频改字祝福,豪车装X系统源码开源,打造个性化祝 福视频不再难! 想要为你的朋友或家人送上一份特别的祝福,让他们感受到你的真诚与关怀吗&am…...

google chromeDriver 地址

#chrome driver 下载地址 https://getwebdriver.com/chromedriver #chrome brower下载地址 https://googlechromelabs.github.io/chrome-for-testing/ centos 安装的dockerFile的部分命令: #安装browser wget https://dl.google.com/linux/chrome/rpm/stable/x86_…...

分布式与一致性协议之Raft算法(一)

Raft算法 概述 Raft算法属于Multi-Paxos算法,它在兰伯特Multi-Paxos思想的基础上做了一些简化和限制,比如日志必须是连续的,只支持领导者(Leader)、跟随者(Follwer)和候选人(Candidate)3种状态。在理解和算法实现上,Raft算法相对…...

从自定义一个作用域开始来了解SpringBean的作用域

你好,这里是codetrend专栏“Spring6全攻略”。 在 Spring 框架中,Bean 的作用域(Scope)定义了 Bean 实例在容器中如何创建、管理和销毁的策略。 Spring 提供了多种 Bean 作用域,每种作用域都有其特定的生命周期和适用…...

Android 编译文件简述(Android.mk)

Android 编译文件简述(Android.mk) Android.mk 文件是 Android 构建系统中的一种构建配置文件,使用 GNU Make 语法,用于定义 Android 项目中的模块、库、应用程序、JNI 代码等的编译和链接方式。每个 Android.mk 文件通常对应一个目录,代表构建系统应该如何处理该目录下的源…...

[React] 手动实现CountTo 数字滚动效果

这个CountTo组件npmjs里当然有大把的依赖存在,不过今天我们不需要借助任何三方依赖,造个轮子来手动实现这个组件。 通过研究其他count to插件我们可以发现,数字滚动效果主要依赖于requestAnimationFrame 通过js帧来让数字动起来,…...

9.Admin后台系统

9. Admin后台系统 Admin后台系统也称为网站后台管理系统, 主要对网站的信息进行管理, 如文字, 图片, 影音和其他日常使用的文件的发布, 更新, 删除等操作, 也包括功能信息的统计和管理, 如用户信息, 订单信息和访客信息等. 简单来说, 它是对网站数据库和文件进行快速操作和管…...

redis之集群

一.redis主从模式和redis集群模式的区别 redis主从模式:所有节点上的数据一致,但是key过多会影响性能 redis集群模式:将数据分散到多个redis节点,数据分片存储,提高了redis的吞吐量 二.redis cluster集群的特点 数据分片 多个存储入…...

Python 3.14 JIT编译器深度调优实战(官方未公开的profile-driven优化链)

第一章:Python 3.14 JIT编译器演进与调优全景概览Python 3.14 引入了实验性但高度可配置的内置 JIT 编译器(代号“Torchlight”),标志着 CPython 首次在标准发行版中集成生产就绪的即时编译能力。该 JIT 并非替代解释器&#xff0…...

如何快速修复ROG游戏本色彩异常:G-Helper完整配置恢复终极指南

如何快速修复ROG游戏本色彩异常:G-Helper完整配置恢复终极指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models …...

想了解西安碑林、雁塔等区二手房装修口碑?这里有你要的答案!

在西安碑林、雁塔等区,二手房装修市场可谓鱼龙混杂,业主们在选择装修公司时常常感到迷茫。毕竟,谁都希望能找到一家靠谱的装修公司,让自己的二手房焕然一新。今天,就给大家重点推荐西安王师傅装修工程有限公司&#xf…...

Folo信息整理神器:如何告别碎片化阅读,轻松构建专属知识库?

Folo信息整理神器:如何告别碎片化阅读,轻松构建专属知识库? 【免费下载链接】follow [WIP] Next generation information browser 项目地址: https://gitcode.com/GitHub_Trending/fol/follow 每天被数十个APP推送轰炸,有价…...

基于蜣螂优化算法的无线传感器网络(WSN)覆盖优化研究——Matlab实现与0/1模型寻优

基于蜣螂优化算法无线传感器网络(WSN)覆盖优化--matl ab 主要基于0/1模型,进行寻优。 蜣螂优化算法是寻找最小值。 于是适应度函数定义为未覆盖率最小,即覆盖率最大。 可其他算法优化模型,含有注释无线传感器网络覆盖…...

深度分析俩款主流移动统计工具Appvue和openinstall

深度分析俩款主流移动统计工具Appvue和openinstall Appvue vs. Openinstall:移动统计渠道的技术创新 在移动应用增长领域,渠道追踪和安装来源分析一直是开发者面临的核心挑战。传统渠道包模式存在效率低下、维护困难等痛点,而新兴的动态参数注…...

Ollama部署Phi-3-mini全攻略:从安装到提问,新手友好图文指南

Ollama部署Phi-3-mini全攻略:从安装到提问,新手友好图文指南 想体验一个轻量级但能力不俗的AI助手吗?今天我们来聊聊如何用最简单的方式,把微软出品的Phi-3-mini模型部署起来,让它帮你写代码、回答问题、甚至进行创意…...

《信息系统项目管理师教程(第4版)》——成本管理知识要点

成本管理知识要点一、成本管理基础概念 项目成本管理是为确保项目在批准预算内完成,对成本进行规划、估算、预算、融资、筹资、管理和控制的过程。其核心目标是平衡成本与价值,既关注项目活动所需资源的成本,也考虑项目决策对产品/服务后续使…...

【2025最新】基于SpringBoot+Vue的小型企业客户关系管理系统管理系统源码+MyBatis+MySQL

摘要 在当今竞争激烈的商业环境中,小型企业亟需高效的客户关系管理(CRM)系统来优化客户交互、提升销售效率并增强客户忠诚度。传统的客户管理方式依赖人工记录和电子表格,存在数据冗余、查询效率低、信息共享困难等问题。随着信息…...

写作压力小了!8个降AIGC网站测评:开源免费真能帮你降AI率吗

在学术写作日益依赖AI工具的当下,如何有效降低AIGC率、去除AI痕迹,同时保持文章的语义通顺和逻辑清晰,成为许多学生和研究者面临的难题。AI降重工具的出现,正是为了解决这一痛点,通过智能分析与优化,帮助用…...