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/communityhttps://www.mongodb.com/try/download/community如图,页面往下滚动,点击选择安装包
然后根据情况选择对应的选项,博主的Ubuntu操作系统是ubuntu-22.04.3版本,所以下载的是对应最新的Ubuntu 22.04 x64的安装包。
注意:Ubuntu 22.04版本的操作系统有一点小问题,不建议使用,安装Ubuntu 22.03的就行了。
下载完成后,通过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官网
鼠标移动到左上角的【产品】,点击Comminity Server
然后同样的鼠标移动到Resources,点击Launch and Manage MongoDB
点击左边的MongoDB手册
还是点击左边的菜单
页面上有MongoDB Shell的介绍,这就是一个MongoDB的客户端连接工具,可以通过这个工具来写MongoDB命令操作MongoDB。
点击下载mongosh
选择操作系统版本和mongosh版本,然后点击绿色的下载按钮。
把下载下来的压缩包上传到/usr目录,然后解压
tar -zxvf mongosh-2.0.1-linux-x64.tgz
启动mongosh:切换到mongosh安装目录,通过bin/mongosh启动
四、使用MongoDB Shell
接着,点击右下角的三个点,在现实的下拉菜单点击Documentation
点击左边菜单中的Run Commands,然后根据文档学习mongosh的命令使用。
mongosh命令
db命令
作用:显示当前使用的数据库
用法:db
use命令
作用:切换数据库
用法:use db_name
mongosh函数
注意,这个章节中collection是集合名称,不是命令,可以任意取名,博主只是为了方便直接用collection
添加操作
insert
往集合里添加数据
db.collection.insert({"name": "mumu"});
insertOne
往集合里添加一条数据
db.collection.insertOne({"name": "mumu", age: 19});
insertMany
往集合里一次性添加多条数据
db.collection.insertMany([{"name": "张三", age: 20}, {"name": "李四", age: 21}, {"name": "王五", age: 22}]);
查询操作
mongosh中查询操作通过find()函数实现,下面介绍find的用法。
无条件查询
db.collection.find()
带条件查询
db.collection.find({"name": "mumu"})
更多查询方式
以上的查询等价于
db.collection.find({name: {$eq: "mumu"}})
$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: "张三"})
deleteMany
1、无条件删除:
db.collection.deleteMany()
2、带条件删除:
删除名字为mumu中的数据
db.collection.deleteMany({name: "mumu"})
五、关闭MongoDB
关闭方式一
bin/mongod --port=27017 --dbpath=/etc/mongodb/data --shutdown
关闭方式二
use admin
db.shutdownServer()
关闭方式三
通过kill进程来关闭
ps -ef | grep mongodb
kill PID