Ubuntu上安装、使用MongoDB详细教程

MongoDB是所有非关系型数据库中最像关系型数据库的一种存储技术,MongoDB中的数据结构是类似于JSON的BSON(Binary Json),这篇文章就详细介绍如何安装和使用MongoDB。

目录

一、下载MongoDB

二、启动MongoDB

准备工作

启动方式一

启动方式二

三、安装MongoDB Shell

四、使用MongoDB Shell

mongosh命令

db命令

use命令

mongosh函数

添加操作

insert

insertOne

insertMany

查询操作

无条件查询

带条件查询

更多查询方式

更新操作

updateOne

updateMany

replaceOne

删除操作

deleteOne

deleteMany

五、关闭MongoDB

关闭方式一

关闭方式二

关闭方式三


一、下载MongoDB

在MongoDB官网下载对应的MongoDB版本,可以点击以下链接快速跳转到下载页面:

https://www.mongodb.com/try/download/communityicon-default.png?t=N7T8https://www.mongodb.com/try/download/community如图,页面往下滚动,点击选择安装包

Ubuntu上安装、使用MongoDB详细教程_第1张图片

然后根据情况选择对应的选项,博主的Ubuntu操作系统是ubuntu-22.04.3版本,所以下载的是对应最新的Ubuntu 22.04 x64的安装包。

注意:Ubuntu 22.04版本的操作系统有一点小问题,不建议使用,安装Ubuntu 22.03的就行了。

Ubuntu上安装、使用MongoDB详细教程_第2张图片

下载完成后,通过finalshell上传到虚拟机上,比如usr目录,然后解压:

tar -zxvf mongodb-linux-x86_64-ubuntu2204-6.0.11.tgz

至此,Ubuntu上MongoDB的安装工作就完成了。

二、启动MongoDB

准备工作

首先,创建MongoDB要使用的目录和文件

mkdir -p /etc/mongodb/data /etc/mongodb/log /etc/mongodb/conf
touch /etc/mongodb/conf/mongodb.conf

启动方式一

通过以下命令启动

bin/mongod --port=27017 --dbpath=/etc/mongodb/data --logpath=/etc/mongodb/log/mongodb.log --bind_ip=0.0.0.0 --fork

启动参数说明

--dbpath: 指定数据文件存放目录
--logpath: 指定日志文件,注意是指定文件不是目录
--logappend: 使用追加的方式记录日志
--port: 指定端口,默认为 27017
--bind_ip: 默认只监听 localhost 网卡
--fork: 后台启动

启动方式二

通过配置文件启动,修改/etc/mongodb/conf/mongodb.conf的内容

systemLog:
  destination: file
  path: /etc/mongodb/log/mongodb.log
  logAppend: true
storage:
  dbPath: /etc/mongodb/data
  engine: wiredTiger
  journal:
    enabled: true
net:
  bindIp: 0.0.0.0
  port: 27017
processManagement:
  fork: true

 然后通过以下命令启动MongoDB

mongod -f /etc/mongodb/conf/mongodb.conf

三、安装MongoDB Shell

访问MongoDB官网

Ubuntu上安装、使用MongoDB详细教程_第3张图片

鼠标移动到左上角的【产品】,点击Comminity Server

Ubuntu上安装、使用MongoDB详细教程_第4张图片

然后同样的鼠标移动到Resources,点击Launch and Manage MongoDB

Ubuntu上安装、使用MongoDB详细教程_第5张图片

点击左边的MongoDB手册

Ubuntu上安装、使用MongoDB详细教程_第6张图片

还是点击左边的菜单

Ubuntu上安装、使用MongoDB详细教程_第7张图片

页面上有MongoDB Shell的介绍,这就是一个MongoDB的客户端连接工具,可以通过这个工具来写MongoDB命令操作MongoDB。

Ubuntu上安装、使用MongoDB详细教程_第8张图片

点击下载mongosh

Ubuntu上安装、使用MongoDB详细教程_第9张图片

选择操作系统版本和mongosh版本,然后点击绿色的下载按钮。

Ubuntu上安装、使用MongoDB详细教程_第10张图片

把下载下来的压缩包上传到/usr目录,然后解压

tar -zxvf mongosh-2.0.1-linux-x64.tgz

启动mongosh:切换到mongosh安装目录,通过bin/mongosh启动

四、使用MongoDB Shell

接着,点击右下角的三个点,在现实的下拉菜单点击Documentation

点击左边菜单中的Run Commands,然后根据文档学习mongosh的命令使用。

Ubuntu上安装、使用MongoDB详细教程_第11张图片

mongosh命令

db命令

作用:显示当前使用的数据库

用法:db

Ubuntu上安装、使用MongoDB详细教程_第12张图片

use命令

作用:切换数据库

用法:use db_name

Ubuntu上安装、使用MongoDB详细教程_第13张图片

mongosh函数

注意,这个章节中collection是集合名称,不是命令,可以任意取名,博主只是为了方便直接用collection

添加操作

insert

往集合里添加数据

db.collection.insert({"name": "mumu"});

Ubuntu上安装、使用MongoDB详细教程_第14张图片

insertOne

往集合里添加一条数据

db.collection.insertOne({"name": "mumu", age: 19});

Ubuntu上安装、使用MongoDB详细教程_第15张图片

insertMany

往集合里一次性添加多条数据

db.collection.insertMany([{"name": "张三", age: 20}, {"name": "李四", age: 21}, {"name": "王五", age: 22}]);

Ubuntu上安装、使用MongoDB详细教程_第16张图片

查询操作

mongosh中查询操作通过find()函数实现,下面介绍find的用法。

无条件查询
db.collection.find()

Ubuntu上安装、使用MongoDB详细教程_第17张图片

带条件查询
db.collection.find({"name": "mumu"})

Ubuntu上安装、使用MongoDB详细教程_第18张图片

更多查询方式

以上的查询等价于

db.collection.find({name: {$eq: "mumu"}})

Ubuntu上安装、使用MongoDB详细教程_第19张图片

$eq是比较符,更多详情,请参考页面Query and Projection Operators — MongoDB Manual

更新操作

updateOne

更新单条数据,比如文档ID为ObjectId("6526ffd80353355e5a66f7ab")的name修改为heyunlin

 db.collection.updateOne({_id: ObjectId("6526ffd80353355e5a66f7ab")}, {$set: { name: "heyunlin" }})

updateMany

更新多条数据

replaceOne

替换一条数据

关于修改操作符,请参考官网

Update Operators — MongoDB Manual

删除操作

deleteOne

删除一条记录:

删除名字为张三的数据

db.collection.delete({name: "张三"})

Ubuntu上安装、使用MongoDB详细教程_第20张图片

deleteMany

1、无条件删除:

db.collection.deleteMany()

2、带条件删除:

删除名字为mumu中的数据

db.collection.deleteMany({name: "mumu"})

Ubuntu上安装、使用MongoDB详细教程_第21张图片

五、关闭MongoDB

关闭方式一

bin/mongod --port=27017 --dbpath=/etc/mongodb/data --shutdown

关闭方式二

use admin

db.shutdownServer()

关闭方式三

通过kill进程来关闭

ps -ef | grep mongodb

kill PID

你可能感兴趣的:(mongodb,数据库)