MongoDB安装与基本使用

一、简介

1.1 Mongodb 是什么
MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/
1.2 数据库是什么
数据库( DataBase )是按照数据结构来组织、存储和管理数据的 应用程序
1.3 数据库的作用
数据库的主要作用就是 管理数据 ,对数据进行 增( c )、删( d )、改( u )、查( r
1.4 数据库管理数据的特点
相比于纯文件管理数据,数据库管理数据有如下特点:
1. 速度更快
2. 扩展性更强
3. 安全性更强
1.5 为什么选择 Mongodb
操作语法与 JavaScript 类似,容易上手,学习成本低

二、下载安装与启动

1、下载地址: https://www.mongodb.com/try/download/community
下面以 4.4.27版本为例子
本人尝试下载6以上的版本,需要安装额外的驱动器,需要额外配置,没特殊需求,4版本就满足正常使用了
2、建议选择 zip 类型, 以后没网络也可正常安装,通用性更强(我使用的是msi)
配置步骤如下 :
(1)、将压缩包移动到 你想安装的目录结构下 ,然后解压
(2)一直点击next,看到(3)的安装界面
(3)安装过程中,你可以通过点击“Custom(自定义)”按钮来设置你的安装目录,然后点击 next。
(4)、选择你想要安装的目录,然后next
(5)下一步安装 "install mongoDB compass" 不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装。
下载地址: MongoDB Compass Download (GUI) | MongoDB。
(6)在安装的时候可以选择将MongoDB配置为Windows服务并启动。
这里不用修改,默认直接next就好
下面路径会直接显示你安装的位置的路径,在步骤(3),默认安装这里显示c盘,自定义安装会显示你自定义目录位置
(7)、选择完毕后点击next就可以看到install按钮,点击install就可以开始安装了。
(8)、
配置MongoDB全局环境变量(就是在电脑中任何地方都可以合用mongo、mongod等命令)
把安装路径的bin目录放在环境路径里面  确定( 重启电脑才会生效)
3、查看是否安装成功,打开命令窗口(win+R输入cmd) ,或者点击电脑搜索,命令提示符
在命令行窗口,输入 mongod -v 下面显示一堆东西,就表示安装成功了
mongod -v

4、安装完成并配置好环境后,创建数据目录
MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该创建在根目录下((如: C:\ 或者 D:\ 等 )。
我在 D盘中解压了 mongodb 文件,创建一个  data 的目录然后在  data 目录里创建 db目录。
5、启动库  在创建数据目录的目录盘,直接打开命令窗口,输入 mongod --dbpath d:\data\db
在下面看到一堆单词,有port:27017表示启动成功
这个窗口不可关闭
6、在一个全新的命名窗口,输入 mongo 进入数据库语法环境,就可以练习数据库语句了

三、核心概念

命令可参考 MongoDB 概念解析 | 菜鸟教程

Mongodb 中有三个重要概念需要掌握
数据库( database ) 数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存
放很多集合
集合( collection ) 集合类似于 JS 中的数组,在集合中可以存放很多文档
文档( document ) 文档是数据库中的最小单位,类似于 JS 中的对象

四、命令行交互

4.1 数据库命令
1. 显示所有的数据库
show dbs
2. 切换到指定的数据库,如果数据库不存在会自动创建数据库
use 数据库名
3. 显示当前所在的数据库
db
4. 删除当前数据库
use 库名
db.dropDatabase()
4.2 集合命令
1. 创建集合
db.createCollection('集合名称')
2. 显示当前数据库中的所有集合
show collections

3. 删除某个集合
db.集合名.drop()
4. 重命名集合
db.集合名.renameCollection('newName')
4.3 文档命令
1. 插入文档
db.集合名.insert(文档对象);
2. 查询文档
db.集合名.find(查询条件)
_id mongodb 自动生成的唯一编号,用来唯一标识文档
3. 更新文档
db.集合名.update(查询条件,新的文档)
db.集合名.update({name:'张三'},{$set:{age:19}})
4. 删除文档
db.集合名.remove(查询条件)

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

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

相关文章

使用Python向RabbitMQ发送JSON数据只需要一个send_json方法

发送JSON数据 通过调用rabbitmq.send_json(channel, user, queueresult)能够更简单的实现发送JSON数据。 生产者 import json import rabbitmq# 建立连接 connection rabbitmq.get_connection()# 创建管道 channel connection.channel()# 创建队列 queue_name "user…

Python 时间相关处理

datetime from datetime import datetime, timedelta, date fmt:指定日期字符串的格式,其中%Y表示四位年份,%m表示两位月份,%d表示两位日 将日期字符串转为日期对象 datetime.striptime(date_str,fmt) date_str "2022-01-0…

创建React步骤

确保电脑已经安装了node.js以后,打开终端进入目标文件夹 cd xxx(文件夹 npx create-react-app react01(替换为你自己的react名称) 可能会出现是否安装xxx,输入y即可 没有报错信息后,输入 cd react01 npm start 会自动跳转到react界面,就…

翻译: Streamlit从入门到精通 部署一个机器学习应用程序 四

Streamlit从入门到精通 系列: 翻译: Streamlit从入门到精通 基础控件 一翻译: Streamlit从入门到精通 显示图表Graphs 地图Map 主题Themes 二翻译: Streamlit从入门到精通 构建一个机器学习应用程序 三 1. 5. 如何部署一个Streamlit应用 部署是将应用程序从开发…

把字符串转换成整数(acwing)

把字符串转换成整数 请你写一个函数 StrToInt,实现把字符串转换成整数这个功能。 当然,不能使用 atoi 或者其他类似的库函数。 数据范围 输入字符串长度 [0,20]。 样例 输入:“123” 输出:123 注意: 你的函数应满足下列条件&…

Linux操作系统——重定向与缓冲区

1.理解一下struct file内核对象 上一篇文章(文件详解)我们一直在谈,一个文件要被访问就必须要先被打开,打开之前就必须要先把文件加载到内存,同时呢我们的操作系统为了管理文件也会为我们的文件创建相对应的struct fi…

数据库多表查询练习题

二、多表查询 1. 创建 student 和 score 表 CREATE TABLE student ( id INT ( 10 ) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR ( 20 ) NOT NULL , sex VARCHAR ( 4 ) , birth YEAR , department VARCHAR ( 20 ) , address VARCHAR ( 50 ) ); 创建 s…

Qt6入门教程 6:Qt元对象系统

目录 一.什么是Qt元对象系统? 二.编译时Qt Creator偷摸做了哪些事情? 1.uic 2.rcc 3.moc 一.什么是Qt元对象系统? Qt中的元对象系统(Meta-Object System)提供了对象间通信的信号和槽机制、运行时类型信息和动态属…

uniCloud + uView 上传图片,删除图片(含u-upload 组件的使用)

上传图片 <u-upload imageModeaspectFit height"250" :maxCount1 :fileList"fileList" afterRead"uploadOK" delete"delPic"> </u-upload>::v-deep .u-upload__button {width: 100% !important; }::v-deep .u-upload__wra…

基于JAVA+SSM框架开发的志愿者服务管理系统设计与实现【附源码】

&#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 &#x1f4dd; &#x1f680;&#x1f680;&#x1f6…

RK3568笔记九: DRM显示摄像头

若该文为原创文章&#xff0c;转载请注明原文出处。 一、介绍 学习DRM的目的是想做类似NVR显示多路实时流&#xff0c;通过勇哥&#xff08;Marc)的指导&#xff0c;大概流程是通过Zlmedia拉流&#xff0c;RK3568的MPP解码,DRM显示&#xff0c;可以使用HDMI或DIS屏幕&#xf…

ssm+vue的物流配送人员车辆调度管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项项目。

演示视频&#xff1a; ssmvue的物流配送人员车辆调度管理系统的设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&…

【C++干货铺】会旋转的二叉树——AVLTree

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 前言 AVL树 AVL树的概念 AVL树结点的定义 AVL树的插入 寻找插入结点的位置 修改平衡因子 AVL树的旋转 右单旋 左单旋 先右旋再左旋 先左旋再右旋 AVL树…

Kubernetes (十三) 存储——持久卷-动静态分配

一. 简介 二. NFS持久化存储步骤&#xff08;静态分配&#xff09; 1. 集群外…

数字信号处理教程学习笔记1-第2章时域中的离散信号和系统

信号处理的任务示意方框图 模拟信号和数字信号分别是啥样的,有啥区别

freetos day1

作业&#xff1a;使用计数型信号量设计&#xff1a;生产者和消费者模型 总结今天学习的API函数&#xff0c;写出函数参数和返回值的意思&#xff0c;并且说明函数功能 1 2 3

如何结合主从复制,不停服情况下解决分库分表

首先我们要知道主从复制和分库分表两个概念&#xff0c;在此基础上可以将问题分为几个阶段来执行&#xff0c;参考了公众号 双写读老 双写双读 写新读新

PHP反序列化漏洞原理

1、原理: 序列化与反序列化是保证数据一致性的过程。 2、产生: 序列化与反序列化的过程中,用户可控 如果反序列化的参数受到攻击者的控制,就会产生漏洞。攻击者可以通过修改参数个数等方式来控制反序列化过程,从而导致代码执行、SQL注入、目录遍历等不可控后果。如果在反…

2024年1月15日Arxiv最热论文推荐:斯坦福LLM精准微调新框架、GPT不愿承认回答错误、速度快15倍的3D全景分割新突破

本文整理了今日发表在ArXiv上的AI论文中最热门的TOP5。 论文解读、论文热度排序、论文标签、中文标题、推荐理由和论文摘要均由赛博马良平台上的智能体 「AI论文解读达人」提供。 如需查看其他热门论文&#xff0c;欢迎移步赛博马良 ^_^ TOP1 APAR: LLMs Can Do Auto-Paral…

【ARM 嵌入式 编译系列 7.3 -- GCC 链接脚本中 NOLOAD 和 GROUP 的详细介绍】

文章目录 NOLOAD 和 GROUP 的详细介绍NOLOAD 关键字GROUP 关键字实际应用案例 NOLOAD 和 GROUP 的详细介绍 在使用 arm-none-eabi-gcc 工具链中的链接器脚本时&#xff0c;链接脚本使用链接器命令语言来描述如何生成最终的可执行文件。其中&#xff0c;noload 和 group 是两个…