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://www.mongodb.com/try/download/community
- 数据库是什么
数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序
- 数据库的作用
数据库的主要作用就是管理数据
,对数据进行增(c)
、删(d)
、改(u)
、查(r)
- 数据库管理数据的特点
相比于纯文件管理数据,数据库管理数据有如下特点:
- 速度更快
- 扩展性更强
- 安全性更强
- 为什么选择Mongodb
操作语法与JavaScript类似,容易上手,学习成本低
2. 核心概念
Mongodb中有三个重要概念需要掌握
- 数据库(database)数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存放很多集合
- 集合(collection)
集合类似于JS中的数组,在集合中可以存放很多文档 - 文档(document)
文档是数据库中的最小单位,类似于JS中的对象
数据库中有属性,属性对应的值叫做集合,而集合中的对戏那个就是一个文档。
大家可以通过JSON文件来理解Mongodb中的概念
- 一个
JS0N文件
好比是一个数据库
,一个Mongodb服务下可以有N个数据库 - JSON文件中的
一级属性的数组值
好比是集合
- 数组中的对象好比是
文档
- 对象中的属性有时也称之为
字段
一般情况下
- 一个项目使用一个数据库
- 一个集合会存储同一种类型的数据
下载地址:https:/www.mongodb.com/try/download/community
建议选择zip类型,通用性更强
配置步骤如下:
- 将压缩包移动到C:\Program Files下,然后解压
- 创建c:\data\db目录,mongodb会将数据默认保存在这个文件夹
- 以mongodb中bin目录作为工作目录,启动命令行
- 运行命令mongod,启动服务
我们一般发送的是http 协议,但是mongo 数据库发送的是mongo 协议,我们需要在打开mongodb 的同时再打开一个cmd 窗口,输入mongo ,出现下面的情况就证明我们的服务端和客户端建立了连接。
show dbs
展示可用的数据库
不能选中服务端内容,如果被选中的话就相当于停止了服务;如果选中可以按回车
3. 命令行交互
命令行交互一般是学习数据库的第一步,不过这些命令在后续用的比较少,所以大家了解即可
3.1数据库命令
- 显示所有的数据库
show dbs
- 切换到指定的数据库,如果数据库不存在会自动创建数据库
use 数据库名
- 显示当前所在的数据库
db
- 删除当前数据库
use 库名 --> 先切换到删除的数据库
db.dropDatabase() --> 删除当前数据库
3.2 集合命令
- 创建集合
db.createCollection(‘集合名称’)
- 显示当前数据库中的所有集合
show collections
集合名称一般都写复数
- 删除某个集合
db.集合名.drop()
- 重命名集合
db.集合名.renameCollection(‘newName’)
3.3 文档命令
- 插入文档
db.集合名.insert(文档对象)
- 查询文档
db.集合名.find(查询条件)
- 更新文档
db.集合名.update(查询条件,新的文档)
db.集合名.update({name:‘张三’},{$set:{age:19}})
默认更新全部数据
- 删除文档
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分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号…...

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

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

深入理解网络原理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集群的特点 数据分片 多个存储入…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...

R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...