Windows 下 MongoDB 6 详细安装教程(图文结合)

news2025/1/17 23:25:11

​ MongoDB是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

​ MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

文章目录

  • 一、下载MongoDB
  • 二、安装MongoDB
  • 三、配置MongoDB
  • 四、启动MongoDB
  • 五、安装Mongoshell
  • 六、MongoDB基础操作

今天学习MongoDB的安装,最新版本为6.0.3,但网上存在许多5的安装,差异还是蛮大的,进入shell的方式也不同(后文会提到),此博客记录MongoDB 6.0.3的安装过程,并附加简单的MongoDB指令,以及基于Python编程操作MongoDB数据库。

一、下载MongoDB

官网地址:Download MongoDB Community Server | MongoDB

在这里插入图片描述

二、安装MongoDB

双击下载的.msi文件即可安装,这里我选择自定义安装
在这里插入图片描述

自定义安装位置:

在这里插入图片描述

他会在你的自定义的路径下自动创建相关文件,直接点击next即可
在这里插入图片描述

安装
在这里插入图片描述

配置电脑环境变量
在这里插入图片描述

三、配置MongoDB

在data目录新建一个名为db的文件夹
在这里插入图片描述

在log目录创建名为mongod.log的日志文件(这里安装时自动创建了,我就不新建一个了)
在这里插入图片描述

在安装目录新建文件mongo.config(可以新建一个txt文件,写好内容,然后重命名文件),内容可复制如下代码,只需要改两个部分:

  • dbpath
  • logpath

在这里插入图片描述

dbpath=F:\APP\MongoDB\data\db #数据库路径

logpath=F:\APP\MongoDB\log\mongodb.log #日志输出文件路径

logappend=true #错误日志采用追加模式

journal=true #启用日志文件,默认启用

quiet=true #过滤掉无用的日志信息,若需要调试使用请设置为false

port=27017 #端口号 默认为27017

四、启动MongoDB

cmd打开bin目录,命令行启动MongoDB服务

在这里插入图片描述

浏览器访问:http://localhost:27017/
在这里插入图片描述

说明启动成功了

最后一步,安装mongodb服务:

mongod --config "F:\APP\MongoDB\mongo.config" --install --serviceName "MongoDB"

在这里插入图片描述

打开任务管理器,可以看到MongoDB服务正在运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B6KoeIMt-1671168953153)(assets/image-20221216115748753.png)]

配置结束

五、安装Mongoshell

在MongoDB6之前,我们配置完环境变量后,可以直接通过终端输入"mongo"进入Mongoshell,但MongoDB6没有mong.exe和mongdb.exe,终端输入"mongo"会报错:'mongo' 不是内部或外部命令,也不是可运行的程序或批处理文件。

要想通过命令行启动mongoDB需要自己下载一个Mongoshell,下载及使用相当简单

官网下载:MongoDB Shell Download | MongoDB

在这里插入图片描述

直接解压到MongoDB的安装目录下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EtgMj9JA-1671168953155)(assets/image-20221216131053562.png)]

然后配置环境变量:

在这里插入图片描述

之后就可以基于”mongosh“指令,通过终端进入Mongoshell了

在这里插入图片描述

六、MongoDB基础操作

详细操作可以参考菜鸟教程:MongoDB 教程 | 菜鸟教程 (runoob.com)

这里做一个简单操作:

1、创建一个名为 Employee 的数据库 : use Employee

在这里插入图片描述

2、向Employee 数据库插入一些数据。db.Employee.insert({"name":"google"})

在这里插入图片描述

3、创建一个集合:db.createCollection("myCollection")

在这里插入图片描述

4、对集合重命名一下:

在这里插入图片描述

5、向集合中插入一些数据:db.myCollection.renameCollection("myColl")

db.myColl.insert({‘username’:‘zhangyu’,‘age’:13,‘salary’:500});

db.myColl.insert({‘username’:‘laohu’,‘age’:20,‘salary’:200});

在这里插入图片描述
在这里插入图片描述

6、查询集合myColl中的数据:db.myColl.find()

在这里插入图片描述

接下来我们用python操作一下MongoDB:

参考教程:Python MongoDB | 菜鸟教程 (runoob.com)

首先安装环境(我用的python版本是 3.7.3):

pip install pymongo

示例代码:

测试数据库是否存在:

import pymongo
 
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
 
dblist = myclient.list_database_names()
# dblist = myclient.database_names() 
if "Employee" in dblist:
  print("数据库已存在!")

在这里插入图片描述

查询某集和下的第一条内容

import pymongo
 
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["Employee"]
mycol = mydb["myColl"]
 
x = mycol.find_one()
 
print(x)

在这里插入图片描述

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

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

相关文章

为什么电子商务物流对电商商家的业务如此重要?

正是电子商务物流的推动推动了企业发展包括最大渠道在内的整体生态系统;店内提货、电子商务、分销商、经销商、合作伙伴和全球制造商,推动新客户的增长。电子商务巨头的目标是推动更多的销售并提高客户忠诚度。  无论是内部还是第三方物流公司,改进的电…

springboot simple (11) springboot protostuff

1 protostuff简介 protostuff是一个基于protobuf实现的序列化方法。 优点&#xff1a;不用写.proto文件。 2 springboot protobuf集成开发 第1步&#xff1a;pom文件引入&#xff1a; <dependency><groupId>io.protostuff</groupId><artifactId>pr…

CDGA|数据治理有哪些痛点,该如何应对呢?

数据治理核心目的,就是通过数据的治理,将数据以更加实用更加有价值的赋能使用者创造更大的价值或者是变现能力,但随之而来的问题也日益凸显。 1、数据质量良莠不齐。数据之多,使用之乱,造成的数据不一致,冗余重复等等,通常会使企业花费额外的成本。 2、数据的互联不强,缺乏统一…

95 C语言初阶练习题

CNT=函数调用的次数 do while 不管三七二十一直接进入循环 k=i+j就等于k=k(i+j)** 局部a只能在test函数内使用 &&并且 || 或者

基于java(springboot)广场舞团管理系统源码(java毕业设计)

基于java(springboot)广场舞团管理系统 广场舞团系统&#xff0c;是基于java编程语言&#xff0c;mysql毕业设计&#xff0c;springboot框架和idea工具开发&#xff0c;本系统分为用户&#xff0c;舞团管理者&#xff0c;管理员三个角色&#xff0c;用户可以注册登陆系统&…

对于新技术的发展而言,坚持长期主义,或许才是正道所在

从Meta股价的一路走低到扎克伯格发布的头显并不被用户买账&#xff0c;Facebook全力拥抱Meta正在经历一场过山车。   扎克伯格和他所带领下的Meta遭遇到的如此多的困境和难题&#xff0c;越来越多地让我们开始相信&#xff1a;所谓的元宇宙并非是一蹴而就的&#xff0c;它是一…

JUC并发编程第十四篇,StampedLock(邮戳锁)为什么比ReentrantReadWriteLock(读写锁)更快!

JUC并发编程第十四篇&#xff0c;StampedLock&#xff08;邮戳锁&#xff09;为什么比ReentrantReadWriteLock&#xff08;读写锁&#xff09;更快&#xff01;一、ReentrantReadWriteLock&#xff08;读写锁&#xff09;1、读写锁存在的意义&#xff1f;2、读写锁代码示例3、读…

orCAD Capture DRC规则设置及检查和报错修改

1.进入DRC设置界面: 如下图,依次选中“dsn→Tools→Design Rules Check” 或者 然后会跳出来一个提示框,点击Yes即可 2.进行DRC规则设置: 上面第二步结束之后,就进入到了DRC规则设置界面,主要有四个类别进行设置。如下图,分别是Design Rules Options、Electrriacl Rule…

致初学者:如何学好Python这门编程语言?

前言 对于很多Python这门编程语言的初学者&#xff0c;往往会面临以下问题&#xff1a; Python2和Python3我该学习哪一个&#xff1f; 是否要安装Linux系统学习Python&#xff1f; Python3有各种版本我该安装哪一个&#xff1f; 那么多的图书、视频和电子教程我该选择哪一个&a…

MySQL --- 函数大全 7

目录 1.从地理哈希值返回纬度 ST_LatFromGeoHash() 2.点的返回纬度 ST_Latitude() 3.返回线字符串的长度 ST_Length() 4.从 WKT 构造线字符串 ST_LineFromText&#xff08;&#xff09;/ ST_LineStringFromText&#xff08;&#xff09; 5.从…

excel行列互换方法

excel行列互换的两种方法&#xff1a;使用转置功能和使用函数公式完成行列互换。excel行列互换多用在打印的时候&#xff0c;根据不同的页面设置&#xff0c;有时页面不够用&#xff0c;这个情况就需要用到excel行列互换。 下图是一个简单的excel行列互换的实例应用。4行三列的…

设备备件管理怎么做?

本篇文章将介绍&#xff1a;1、设备备件管理中存在的问题&#xff1b;2、设备备件管理具体怎么做&#xff1f; 设备备件管理&#xff0c;是为了能够按计划进行设备检修&#xff0c;尽量缩短故障停机时间&#xff0c;减少维修费用&#xff0c;在保证备件品种的质量和数量、供应及…

SpringBoot【配置文件】

SpringBoot【配置文件】&#x1f34e;一.配置文件&#x1f352;1.1 配置文件作用&#x1f352;1.2 配置⽂件的格式&#x1f34e;二.properties 配置文件&#x1f352;2.1 properties 基本语法&#x1f352;2.2 properties快捷生成插件(spring tools)&#x1f352;2.3 读取prope…

用好 TypeScript,请再深入一些

TypeScript 已经成为前端编程语言的事实标准。但我从大量的 Code Review 和面试经历中发现&#xff0c;真正能深入使用 TypeScript 的开发其实并不多。如果你不知道 ReturnType<T> 的作用和实现&#xff0c;或许这篇文章也适合你。 当然&#xff0c;我们花大量时间去学习…

tinode客户端安卓版编译手账

前一阵子我自己架设了一个tinode的IM服务器, web直接可以运行 但是安卓版本的一直报错&#xff0c; 具体信息为&#xff1a; No subjectAltNames on the certificate match 问了作者&#xff0c;作者竟然把我的问题直接删除了&#xff0c;还是自己调试代码吧。毕竟源码面前…

两年CRUD,没料到我这渣二本,备战两个月面试阿里,居然侥幸拿下P6的offer

对于很多没有学历优势的人来说&#xff0c;面试大厂是非常困难的&#xff0c;这对我而言&#xff0c;也是一样&#xff0c;出身于二本&#xff0c;原本以为就三点一线的生活度过一生&#xff0c;直到生活上的变故&#xff0c;才让我有了新的想法和目标&#xff0c;因此我这个二…

fl studio21版本如何更新FL最新版升级教程

2022年12月7日晚&#xff0c;全球知名的音乐创作软件&#xff0c;FL Studio正式推出最新21版&#xff0c;为原创音乐人提供更好用的DAW&#xff08;数字音乐工作站&#xff09;工具。 FL Studio中文已上线21新版 FL Studio国人也叫它水果编曲软件&#xff0c;是一款有着20多年…

Java——布隆过滤器

在上一篇博客中讲到位图是用来判定一个正整数是否存在的。对于一个负数&#xff0c;我们可以统一规定让他们加上一个数&#xff0c;变成正数&#xff0c;然后用位图的方式存储。但是对于字符串&#xff0c;我们就没办法存储了。因此发明了布隆过滤器 概念 对于网络上很多需要…

计算机毕设Python+Vue校园新闻发布系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】

目录1. AlexNet模型1.1 AlexNet与LeNet的区别1.2 简化的AlexNet实现1.3 各层输出形状详解2. 读取数据3. 模型训练4. 总结上一篇文章中我们了解到神经网络可以直接基于图像的原始像素进行分类&#xff0c;这种称为端到端&#xff08;end-to-end&#xff09;的方法可以节省很多中…