1-MongoDB安装与配置

MongoDB 6.0版安装教程及配置和Studio 3T可视化软件安装

1.MongoDB 6.0版安装

注意:在Mongo6.0以后,安装MongoDB后无mongo.exe文件,因为mongosh 提供了更好的可用性和兼容性。"mongo " shell 已被废弃,并将在新发布的版本中被删除,但要单独下载请看步骤:2.下载MongoDB Shell

但是若需要安装mongo.exe可参考以下操作

mongodb 6.0 数据库 安装路径 bin/文件夹下, 没有mongo.exe
也就是说, 终端里面, 没有mongo指令

在终端输入 mongo 指令的时候会包错,如下:

'mongo' is not recognized as an internal or external command,
operable program or batch file.

此时, 我们可以下载一个低版本的压缩包,比如mongo4版本的等,
解压此压缩包,复制该低版本里面的bin/文件夹中的 mongod.exemongo.pdb 两个文件到 mongodb 6.0bin/文件夹内即可。

1.下载

1.进入MongoDB官网下载地址:https://www.mongodb.com/try/download/community

在这里插入图片描述
      下载后的文件:下载后的文件

2.安装(注意步骤6和7)

2.双击下载后的文件开始安装,点击Next。(因为我已安装6.0版本,以下为其它版本安装图片,安装步骤都是一样的

安装步骤一

3.勾选上(I accept the terms in the License Agreement),点击Next。

安装步骤二

4.选择(Custom),点击Next。

安装步骤三

5.默认安装是在C盘,点击 Browse… 选择你要安装的盘,选择好安装的盘后在点击Next。注意:记住你安装在某盘的路径,后面配置环境变量要用到。

安装步骤四

6.这里选择路径时最好修改为如下图类型,点击Next。

安装步骤五

7.下图一定要取消安装,默认是勾选上的,选择不勾选(Install MongoDB Compass),不然会导致安装时卡住,点击Next。

安装步骤六

8.点击Install。

安装步骤七

以下可选内容,新版MongoDB也许不需要以下操作)


可选内容:

方案一:

点击next 点击之后 新版的Mongodb会主动在安装目录下创建log和data文件,这相比较早期版本有了改善 ,早期需要自己手动创建,我们可以在data下创建db文件夹 笔者的在D:\Program Files(x86)\MongoDB\data\db,cmd进入C:\MongoDB\bin目录下(在windows资源管理器中shift+右键打开powershell也行)然后执行.\mongod -dbpath C:\MongoDB\data\db 命令,如下图(这条命令是开启服务,它会一直运行,只要你要使用Mongodb,这个窗口就不能关)
img

然后在bin目录下另外打开一个cmd 在bin目录下执行mongo命令,之后就能正常使用了!!!

img

方案二:

MongoDB配置:****在MongoDB\data目录下创建文件用来存放数据库文件>>“D:\Program Files(x86)\MongoDB\data\db”因为启动mongodb服务之前必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。

启动MongoDB服务

1.打开cmd命令行,进入D:\Program Files(x86)\MongoDB\bin目录下

2.输入如下的命令启动mongodb服务:

.\mongod --dbpath D:\Program Files(x86)\MongoDB\data\db\

在MongoDB新版正常情况下安装完成后将不会有下面提示,若有错误按照以下步骤

9.弹出图一点击OK,继续第10项的操作。如果弹出图二请看:步骤:3、安装MongoDB提示权限不足的解决方法

图一:
安装步骤八
         图二:
安装步骤八

10.点击Yes,重启电脑。

安装步骤九


3.修改环境变量(可选,但最好配置)

11.电脑桌面找到此电脑图标,右击此电脑图标,点击属性,找到高级系统设置并点击(打开后如下图)。注意:下图第4个步骤是你自己的安装路径(就是前面第5项时记住的路径,再加上\bin)输入后依次点击确定

安装步骤十一

4.运行(记得下载MongoDB Shell)

12.重启电脑后,找到并打开你安装MongoDB的位置,一直打开到bin文件夹。在键盘上按window + R 打开运行窗口,输入cmd,弹出命令提示符窗口,在命令提示符窗口输入.\mongo。如下图:

安装步骤十

注意:

用./的原因是unix为了防止黑客,path中不包含当前目录,搜索一个命令的时候并不会搜索当前目录,所以想执行当前目录下的命令就必须用./xxxx,其中.表示当前目录。
如果搜索命令的时候会从当前目录下搜索,黑客就会在自己有权限的一些目录构造一些类似cd..这样的木马程序,万一管理员执行cd ..的时候中间的空格打太快漏掉了,就把木马给执行了。要是像windows这样当前目录还要优先搜索的操作系统,甚至直接构造cd,ls这样的木马就可以轻松让管理员中招。

5.检验

在浏览器输入http://localhost:27017 (27017是mongodb的端口号)查看,若显示如下则表示连接成功,否则查看端口是否被占用,杀掉相应进程cmd里重新走第2步。

img

6.MongoDB 的基本语句操作

1、显示mongodb中有哪些数据库

show dbs

2.显示当前正在使用的数据库

db

3.选择使用的数据库

use 你要使用的数据库名

4.登陆你要使用的数据库

db.auth(username,password) username为用户名,password为密码

5.查看当前数据库有哪些表

db.getCollectionNames()

6.显示数据库有哪些操作

db.help()

将MongoDB安装在虚拟机上,从本地访问虚拟机发现无法访问。

解决:

(1)、启动时加参数:“--bind_ip_all”。例如:

mongod -f mongodb.conf --bind_ip_all

(2)、网上还有一种说法是在配置文件mongodb.conf中加

net:
​                   port: 27017
​                    bindIp: 0.0.0.0        

第二种方法没有成功,有待继续研究。

2.下载MongoDB Shell

MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环境。

在老版本中对 mongodb 进行后台管理,使用 mongo 命令。

但在5.0 版本以后,当你执行 .\mongo 命令时会显示警告 Warning: the "mongo" shell has been superseded by "mongosh", 并提示我们安装 mongosh。

MongoDB v5.0 开始不推荐使用 mongo,而建议使用 mongosh,需要单独安装

img

mongosh 提供了更好的可用性和兼容性。"mongo " shell 已被废弃,并将在新发布的版本中被删除。接下来介绍安装 mongosh shell 工具。

mongosh 向后兼容,支持的方法使用与 mongo 中相应方法相同的语法。

1.下载

1.进入MongoDB官网下载MongoDB Shellhttps://www.mongodb.com/try/download/shell

安装步骤十二
      下载后的文件:下载后的文件2

2.安装

2.找到下载的文件解压,解压后找到bin文件打开,bin文件下有2个文件, mongosh文件和mongosh_crypt_v1.dll文件,复制这2个文件到刚刚安装MongoDB路径下的bin文件里面。

安装步骤十三
安装步骤十三

3.检验

3.复制后,在键盘上按window + R 打开运行窗口,输入cmd,弹出命令提示符窗口,在命令提示符窗口输入.\mongod,弹出以下内容后继续输入.\mongosh,弹出以下内容后继续输入show dbs。如下图:

安装步骤十四
安装步骤十四
安装步骤十四
至此,MongoDB安装完成。

4.运行Mongosh也许会出现的错误

下面该错误如果不运行mongo.exe则不会出现

1.错误:

Warning: Found ~/.mongorc.js, but not ~/.mongoshrc.js. ~/.mongorc.js will not be loaded

( This is from my machines cmd @ windows 10 )
Warning: Found ~/.mongorc.js, but not ~/.mongoshrc.js. ~/.mongorc.js will not be loaded.
You may want to copy or rename ~/.mongorc.js to ~/.mongoshrc.js.

this below matches the info from Student-test Overview in Atlas

Atlas atlas-ej2x43-shard-0 [primary] student-1>

Howdy Folks newbie here with a question / error message. I was having issue’s getting the MongoDB-shell to work. Was following the University install instructions and every time I went to connect. It would fail and I finally removed everything Mongo from the machine. Running Windows10 Pro and I checked Program Files / Program-86 / AppData Local and Roaming. Even checked that the Environmental Variables Path was empty.

While I am following a few different tutorials some say use Compass, the next one says use the Shell. So I thought there was a conflict in paths. So after a restart from MongoDB Shell Download | MongoDB 31 I selected tools and downloaded -v 1.1.0 Win64-bit msi

I ran the msi and Unchecked just for me to install it in Programs path. I have a Cluster built from following the University follow along and removed everything. I built a new Project in Atlas and it is up and just finished loading the sample data. When I hit connect and selected Shell the string supplied match’s what I have on my machines command line. Provide screen shots.

It has the WARNING message I am concerned with now. And on how to handle it or ignore it ?? I have some experience with node.js and running npm for packages and dependencies. So a lot are just deprecation warnings that handle themselves. This is my first try getting it running on my own and still a little squirrely.

Any explanations and time appreciated. Just unsure if it will lead to failures down the road.

complete

2.解决:

This warning message is ignorable. It happens when you have previously run the legacy mongo shell (which creates a in your home directory) and subsequently run the new MongoDB Shell (mongosh) which looks for instead..mongorc.js``.mongoshrc.js

The “rc” file naming convention comes from Unix, where it indicates “Run Commands” that are invoked when an application starts up. In the context of the MongoDB shell, the rc file can be used to load some additional JavaScript commands or helpers:

On startup, checks the user’s directory for a JavaScript file named . If this file is found, interprets the content of before displaying the prompt for the first time.mongosh``HOME``.mongoshrc.js``mongosh``.mongoshrc.js

The startup warning is trying to convey that a legacy file was found but will not be loaded by . If you added any custom JavaScript in , you may want to update and add those commands to . This is suggested in the second line of the warning:mongosh``.mongorc.js``mongosh``.mongorc.js``.mongoshrc.js

You may want to copy or rename ~/.mongorc.js to ~/.mongorcsh.js

You can inspect the contents of these JavaScript files in your favourite text editor.

翻译:

1.错误:

Warning: Found ~/.mongorc.js, but not ~/.mongoshrc.js. ~/.mongorc.js will not be loaded

( 这是从我的机器 cmd @ 视窗 10 )
警告:找到了/.蒙戈尔.js,但没有找到/.蒙戈什.js。~/.mongorc.js将不会被加载。
您可能希望复制或重命名 ~/.mongorc.js 为 ~/.蒙戈什.js。

以下内容与 Atlas 中学生测试概述中的信息相匹配

阿特拉斯地图集-ej2x43-分片-0 [小学] 学生-1>

你好,伙计们新手在这里有一个问题/错误消息。我在让MongoDB外壳正常工作时遇到问题。按照大学的安装说明,每次我去连接。它会失败,我最终从机器上删除了Mongo的所有内容。运行Windows10专业版,我检查了程序文件/ 程序-86 / 应用程序数据本地和漫游。甚至检查了环境变量路径是否为空。

虽然我正在遵循一些不同的教程,但有些人说使用指南针,下一个说使用外壳。所以我认为路径上有冲突。所以重新启动后从蒙哥DB外壳下载|蒙戈数据库 31我选择了工具并下载了 -v 1.1.0 Win64 位 msi

我运行了msi和未选中只是为了我在程序路径中安装它。我有一个集群,从跟随大学跟随并删除了一切。我在 Atlas 中构建了一个新项目,它已启动并刚刚加载了示例数据。当我点击连接并选择外壳时,提供的字符串与我的计算机命令行上的字符串匹配。提供屏幕截图。

它有我现在关心的警告消息。以及如何处理它或忽略它?我有一些关于 node.js和运行 npm 包和依赖项的经验。因此,很多只是处理自己的弃用警告。这是我第一次尝试让它自己运行,但仍然有点松弛。

任何解释和时间赞赏。只是不确定它是否会导致未来的失败。

完成

2.解决:

此警告消息是可忽略的。当您之前运行过旧的mongo外壳(在您的主目录中创建一个)并随后运行新的MongoDB外壳程序(mongosh时,就会发生这种情况。.mongorc.js``.mongoshrc.js

“rc”文件命名约定来自Unix,它表示应用程序启动时调用的“运行命令”。在MongoDB外壳的上下文中,rc文件可用于加载一些额外的JavaScript命令或帮助程序:

启动时,检查用户目录中是否有名为 的 JavaScript 文件。如果找到此文件,则在首次显示提示之前解释 的内容。mongosh``HOME``.mongoshrc.js``mongosh``.mongoshrc.js

启动警告试图传达已找到旧文件但不会由 加载。如果在 中添加了任何自定义 JavaScript,则可能需要更新这些命令并将其添加到 中。警告的第二行中建议这样做:mongosh``.mongorc.js``mongosh``.mongorc.js``.mongoshrc.js

您可能希望复制或重命名 ~/.mongorc.js 为 ~/.mongorcsh.js

您可以在自己喜欢的文本编辑器中检查这些JavaScript文件的内容。

该文件地址一般在"C:\Users\FX.mongorc.js",修改其名称.mongorc.js为.mongorcsh.js即可

3、安装MongoDB提示权限不足的解决方法

在安装MongoDB的时候,window10系统有时会遇到权限不足的问题,跟着本人按照如下步骤就可解决window10系统权限问题。

1.弹出提示权限不足的时候,先不要点击任何框内的内容。

图一

2.在键盘上按window + R 打开运行窗口,输入 services.msc 命令。

图二

3.弹出以下服务框后找到 MongoDB Server (MongoDB) 双击打开。

图三

4.点击登录选项,更改登陆身份后点击确定按钮,如下图:

图四

5.再次双击 MongoDB Server (MongoDB) 打开,常规选项中,点击启动。(灰色是因为我的已点击过)

图五

6.回到弹出提示权限不足的时候,点击Retry(重试)。继续执行上面 步骤:1.MongoDB 6.0版安装* 步骤11就可以了。
图六

4.mongosh基础命令

1.使用mongosh连接

.\mongosh相当于使用命令:.\mongodb://localhost:27017,mongodb默认端口: 27017。

要连接其他服务器的数据库时,可以使用下面的命令:

.\mongosh "mongodb://ip:port"
.\mongosh ip:port/数据库  -u 用户名 -p 密码
.\mongosh -u 用户名 -p 密码 --port 端口号 --host ip 数据库名

反正经过测试,用以上3种命令格式去连接,不管是使用mongo还是mongosh都可以连接成功。

2. 创建、读取、更新和删除(CURD)操作

2.1 数据库的创建

创建或插入操作将新文档添加到集合中。如果该集合不存在,则创建操作也会创建该集合。可以在一次操作中插入单个文档或多个文档。

.\mongo
2.1.1 选择和创建数据库
use 数据库名

注意:使用该命令的时候,如果有数据库名称指定的数据库则会使用该数据库,否则将自动创建名称为所指定名称的数据库。
数据库名需要满足一定的规则:

  • 它可以是任意满足UTF-8编码的字符串;
  • 不允许是空字符串;
  • 不允许含有’ '(空格)、.(点)、$、/、\、和\0(空字符串);
  • 应采用全小写字符,并且布草过64字节;
  • 不能使用一些暴力与的数据库名:
    • admin: 这个相当于具有root权限的数据库,要是将一个用户添加到该数据库,则用户将自动地继承所有数据库的权限。某些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器等等;
    • local: 该数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合;
    • config: 当Mongo用于分片设置时,config数据库再内部使用,用于保存分片的相关信息。

也可以查看当前所使用的数据库:

db

查看所有的数据库:

show dbs

(或者show databases

执行效果如图:
在这里插入图片描述
在这个截图中看到,并没有显示出我们使用use命令所创建的数据库“mydb”,是因为我们还没有把它存储在硬盘中,但这个新的数据库已经可以在内存中建立了。

其中MondoDB中所默认的数据库名为test,也就是说如果你没有指定过其他名称的数据库,所使用的集合将全部存放在名为test的默认数据库中。

在创建数据库后集合不会马上创建,只有在插入了内容后才会创建集合。这里的集合就相当于MySQL等数据库中的数据表。也就是说创建集合后要再插入一个文档(相当于MySQL中的记录),集合才会创建。

2.2 数据库的删除

删除操作从集合中删除现有文档。您可以在一次操作中删除单个文档或多个文档。可以指定用于标识要删除的文档的条件或过滤器。这些过滤器使用与读取操作相同的语法。
MongoDB删除数据库shell的格式为:

db.dropDatabase()

这里的Shell命令与JavaScript中的函数类似,以该删除函数为例,db是我们所use的一个数据库对象,执行的是该对象的dropDatabase()函数(方法)。不过需要注意,mongosh方法终究不是Node.js或者某一其他编程语言中的方法或函数。现在我们可以测试删除刚刚所创建的数据库:
在这里插入图片描述
这个也只是对硬盘中的数据库的操作,实际上现在我们所“use”的还是mydb。

2.3 集合操作

2.3.1 集合的创建

这里的集合就相当于MySQL等关系型数据库中的数据表,集合是“文档”的容器,而文档则相当于MySQL等关系型数据库中的“记录”,也就是所存储的一条数据。为当前所使用的数据库“db”显示创建一个集合的格式如下:

db.createCollection(name)
1
  • name 该参数是要为当前所使用的数据库

    db
    

    创建的集合的名称,需要使用引号表示名称的字符串,如:

    db.createCollection("mydb")
    1
    

实际上“集合”还可以被隐式地创建。当向一个集合中插入一个文档时,若被插入文档的集合不存在,则将自动创建该集合

2.3.2 查看所有集合

其命令如下:

show collections
1

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

2.3.3 集合的删除

删除集合的格式为:

db.collection.drop()
1

或者

db.集合名.drop()
1

2.4 文档操作

2.4.1 文档的插入
(1)插入单个文档
db.collection.insertOne()
1

例如:

db.students.insertOne( { name: "小明", age: 16 } );
1

以下是shell执行的截图:
在这里插入图片描述
可以看到mongosh返回了一段脚本执行的信息,即:

{
        "acknowledged" : true,
        "insertedId" : ObjectId("6125ae05d3b72d0dd071b02f")
}
1234

说明我们执行成功了。使用可视化工具也可以查看到在当前使用的名为test数据库下,名为student的集合下添加了一个文档:
在这里插入图片描述

(2)插入多个文档

我们也可以一次性插入多个文档:

db.collection.insertMany()
```例如:
```js
 db.techers.insertMany( [ { name: "JackMa", age: 57 }, { name: "Michael Yu", age: 59 } ] );
1234

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

5.安装MongoDB Compass(可视化软件):

1.进入页面 https://www.mongodb.com/download-center/compass ,选中如下图,开始下载

img

2.下载后的文件压缩包img

任意在一个目录下解压,我F盘建了个MongoDB-compass文件夹,在这个文件夹里面进行解压,如下图

img

  1. 双击上面图中的exe文件,打开可视化界面,如下图所示:

img

4.点击上图CONNECT,进行连接,进入如下图(要想连接成功必须要开服务,mongod -dbpath C:\MongoDB\data\db 这条命令需要一直开着,新版无需注意)。

img

至此,MongoDB Compass安装成功。

6.Studio 3T 可视化软件安装

1.进入Studio 3T官网下载Studio 3Thttps://studio3t.com/download/

图一

下载后的文件:图二

2.解压后双击安装文件进行安装,点击Next。

图三

3.继续点击Next。

图四

4.设置安装路径(默认为C盘),点击Next。

图五

5.点击Finish。

图六
到此,Studio 3T 可视化软件安装完成。

7.MongoDB连接Navicat

1.在命令行中创建数据库的账户:

use admin



 



db.createUser({user:"admin", pwd:"123456",roles: [{role:"root", db:"admin"}] })

2.看到下图说明数据库账户已经成功创建;

img

3.打开Navicat选中MongDB;

img

img

4.点击【测试连接】,提示连接成功,就OK了。

img

8.mongoDB文件夹下bin文件里没有mongoimport.exe,无法导入数据的解决方法

1.点进去https://www.mongodb.com/try/download/database-tools,下载压缩包
在这里插入图片描述
2.将压缩包bin文件里的程序复制到你的mongoDB的bin文件夹下
在这里插入图片描述
在这里插入图片描述
3.右击mongoimport,选中属性,复制它在文件夹的位置
在这里插入图片描述
4.右击我的电脑,选中属性----高级系统设置-----环境变量,在系统变量的path里添加刚才复制的位置即可进行数据导入操作了
在这里插入图片描述

posted @ 2024-06-11 14:10  3088577529  阅读(136)  评论(0)    收藏  举报