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

news/2024/11/30 0:26:26/

​ 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 #过滤掉无用的日志信息,若需要调试使用请设置为falseport=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 pymongomyclient = pymongo.MongoClient('mongodb://localhost:27017/')dblist = myclient.list_database_names()
# dblist = myclient.database_names() 
if "Employee" in dblist:print("数据库已存在!")

在这里插入图片描述

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

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

在这里插入图片描述


http://www.ppmy.cn/news/3940.html

相关文章

PyTorch笔记 - ResNet: Deep Residual Learning for Image Recognition

欢迎关注我的CSDN:https://blog.csdn.net/caroline_wendy 本文地址:https://blog.csdn.net/caroline_wendy/article/details/128341408 Paper:ResNet - Deep Residual Learning for Image Recognition Kaiming He,Microsoft Research工程:TIMM,https://github.com/rwight…

Java——布隆过滤器

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

[附源码]Python计算机毕业设计高校学生管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等…

win7 nvm-window 安装图解

序: 1、博主不是没试过装nvmw,但是npm install nvmw下来,发现切换不了的,就算独立下载nvmw下来配置也试过了,也是不行,最重要的一点nvmw已经停更了!!!! 2、删…

java的垃圾回收浅谈

目录 并发标记问题 三色算法问题 浮动垃圾问题 漏标问题 cms的解决方式 g1的解决方式 跨代(区)引用 CMS垃圾回收日志 G1垃圾回收日志 垃圾回收过程其实都包含两步:标记回收。 标记算法: 引用计数:每个对象都有一个计数器&#xff…

所谓工作能力强,其实就这五点

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 #mermaid-svg-YapmQUqJ0V32EFv6 {font-family:"trebuchet ms",ve…

【大数据技术Hadoop+Spark】MapReduce之单词计数和倒排索引实战(附源码和数据集 超详细)

源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、统计单词出现次数 单词计数是最简单也是最能体现MapReduce思想的程序之一,可以称为MapReduce版“Hello World。其主要功能是统计一系列文本文件中每个单词出现的次数 程序解析 首先MapReduce将文件拆分成spli…

计算机毕设Python+Vue校园失物招领平台(程序+LW+部署)

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