大连全瓷种植牙齿制作中心 发表于 2024-7-25 18:54:01

Ubuntu上安装、使用MongoDB具体教程

MongoDB简朴介绍

   MongoDB是所有非关系型数据库中最像关系型数据库的一种存储技术,MongoDB中的数据结构是雷同于JSON的BSON(Binary Json),这篇文章就具体介绍如何安装和使用MongoDB。
MongoDB和MySQL中的概念对应关系
MongoDBMySQL数据库数据库表/集合表索引索引文档表的行数据
一、下载MongoDB

在MongoDB官网下载对应的MongoDB版本,可以点击以下链接快速跳转到下载页面:
https://www.mongodb.com/try/download/communityhttps://i-blog.csdnimg.cn/blog_migrate/003a2ce7eb50c2e24a8c624c260c5930.pnghttps://www.mongodb.com/try/download/community如图,页面往下滚动,点击选择安装包
https://i-blog.csdnimg.cn/blog_migrate/fcdf168ef9ec4c304900f63f3192a429.png
然后根据环境选择对应的选项,博主的Ubuntu操作系统是ubuntu-22.04.3版本,以是下载的是对应最新的Ubuntu 22.04 x64的安装包。
   留意:Ubuntu 22.04版本的操作系统有一点小题目,不建议使用,安装Ubuntu 22.03的就行了。
https://i-blog.csdnimg.cn/blog_migrate/a46795fe279e4ca36c8e1973b26eab91.png

下载完成后,通过finalshell上传到虚拟机上,好比usr目录,然后解压:
tar -zxvf mongodb-linux-x86_64-ubuntu2204-6.0.11.tgz https://i-blog.csdnimg.cn/blog_migrate/c3b5b0d9c4531f8f05c65ae8a9a6db64.png
至此,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 https://i-blog.csdnimg.cn/blog_migrate/59abc72683ee74142568c24e665aff3b.png
启动参数说明
      --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
bin/mongod -f /etc/mongodb/conf/mongodb.conf https://i-blog.csdnimg.cn/blog_migrate/4c233c6fa6c9181193ef45ee870c2717.png

三、安装MongoDB Shell

访问MongoDB官网
https://i-blog.csdnimg.cn/blog_migrate/90e743eae7e0036287788a0651250584.png
鼠标移动到左上角的【产品】,点击Comminity Server
https://i-blog.csdnimg.cn/blog_migrate/ffa90c2643b94a2019bea3a8e48d203c.png
然后同样的鼠标移动到Resources,点击Launch and Manage MongoDB
https://i-blog.csdnimg.cn/blog_migrate/cf22e5a0e57480548f5421db41ba73f1.png
点击左边的MongoDB手册
https://i-blog.csdnimg.cn/blog_migrate/8b7420901362ca120d737718c533fbc4.png
照旧点击左边的菜单
https://i-blog.csdnimg.cn/blog_migrate/c13fb103ad6bc282197ebee53ed58583.png
页面上有MongoDB Shell的介绍,这就是一个MongoDB的客户端连接工具,可以通过这个工具来写MongoDB下令操作MongoDB。
https://i-blog.csdnimg.cn/blog_migrate/a1c38cb3c3886f579fb852f41cbf29e1.png
点击【Download mongosh】按钮打开下载页面
https://i-blog.csdnimg.cn/blog_migrate/23034c67b74de52903eef22fcf24fd79.png
选择操作系统版本和mongosh版本,然后点击绿色的下载按钮
https://i-blog.csdnimg.cn/blog_migrate/b56a48d4db0e3b3dd70b4ae95c2a35df.png
把下载下来的压缩包上传到/usr目录,然后解压
https://i-blog.csdnimg.cn/blog_migrate/677142b515dae1de9d9f098a14a5f757.png
tar -zxvf mongosh-2.0.1-linux-x64.tgz 启动mongosh:切换到mongosh安装目录,通过bin/mongosh启动
https://i-blog.csdnimg.cn/blog_migrate/96e01cfcc49d3c02e5219a922f88ebfb.png

四、使用MongoDB Shell

接着,点击右下角的三个点,在现实的下拉菜单点击Documentation
点击左边菜单中的Run Commands,然后根据文档学习mongosh的下令使用。
https://i-blog.csdnimg.cn/blog_migrate/34e57c48238ce7f81ac8fba4e62de020.png

接下来介绍mongosh的一些常用的下令
 实行javascript脚本

load("xxx.js") 在opt目录下创建文件index.js,文件内容如下:
let result = db.user.find();

console.log(result); 然后加载index.js
load("/opt/index.js") https://i-blog.csdnimg.cn/blog_migrate/9474e8e72b0eb3fab66df82781b3c482.png

用户操作

 查看所有用户

show users
创建用户

创建用户须要使用管理员权限,操作之前必须切换到admin数据库
use admin

db.createUser({user: 用户名, pwd: 密码, roles: [角色列表]}); https://i-blog.csdnimg.cn/blog_migrate/1871d39c79239245338264bd91885088.png

数据库操作

切换数据库

use db_name 好比切换到mongo数据库,如果该数据库不存在,会自动创建
https://i-blog.csdnimg.cn/blog_migrate/2cdf7218e8a9f6dfe0fd3b5bad6bc748.png

删除数据库

db.dropDatabase()
显示当前数据库

作用:显示当前使用的数据库
https://i-blog.csdnimg.cn/blog_migrate/4c1ceefdab2bb937fe4ab17a39339231.png

查看所有数据库

show dbs
show databases
查看数据库版本

查看数据库版本,也就是MongoDB的版本
db.version() https://i-blog.csdnimg.cn/blog_migrate/41a396e540658df562fbb5b4babaa387.png

集合操作

创建集合

db.createCollection(name, options) 一样平常不须要使用这个下令,由于在往集合里添加数据时,如果集合不存在会自动创建
options参数的可选值
                参数       说明capped是否固定集合大小,设置为true时,当集合元素达到设定的值时会覆盖最老的数据size设置集合数据大小             max                    指定固定集合中最大文档数量               删除集合

   db.collection_name.drop()   删除集合collection
   https://i-blog.csdnimg.cn/blog_migrate/4a498ec40ecda3f77bf2a253944d6a25.png
   
   查看当前数据库所有集合

   show collections   
   文档操作

      留意,这个章节中collection是集合名称,不是下令,可以恣意取名,博主只是为了方便直接用collection
添加操作

insert

往集合里添加一条数据
db.collection.insert({"name": "mumu"}); https://i-blog.csdnimg.cn/blog_migrate/5d89e35fd9150a0049c61c923df6b55b.png

insertOne

往集合里添加一条数据,同insert
db.collection.insertOne({"name": "mumu", age: 19}); https://i-blog.csdnimg.cn/blog_migrate/0c5f505a335f23455ad0c848a86ed6ad.png

insertMany

往集合里一次性添加多条数据
db.collection.insertMany([{"name": "张三", age: 20}, {"name": "李四", age: 21}, {"name": "王五", age: 22}]); https://i-blog.csdnimg.cn/blog_migrate/d163d801d533bf87cc8017903843d0dd.png

查询操作

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

db.collection.find() https://i-blog.csdnimg.cn/blog_migrate/f6c4031a082b0097a62e3f12aa72aaea.png

带条件查询

db.collection.find({"name": "mumu"}) https://i-blog.csdnimg.cn/blog_migrate/ddad3212f99d3326e4bf407f4d0d6cf4.png

字段排序

db.collection.find().sort(age: -1); 例如,按照年龄降序排序,如果要升序则把-1改成1
db.user.find().sort({age: -1}); 以上下令等价于MySQL中的
select * from user order by age desc https://i-blog.csdnimg.cn/blog_migrate/1e763eb3dc895bd4bdbf04abc5d30968.png

查询分页

查询前三个用户
db.user.find().skip(0).limit(3) 以上下令等价于MySQL中的
select * from user limit 3
select * from user limit 0, 3 https://i-blog.csdnimg.cn/blog_migrate/55ce29d6a2d0430afcd392497dd41946.png

skip()和limit()可以单独使用,以下两条下令等价
db.user.find().limit(3);

db.user.find().skip(0).limit(3); 跳过前两条数据
db.user.find().skip(2); https://i-blog.csdnimg.cn/blog_migrate/58fa2445edefaa15cf9f9048cb77dca6.png

更多查询方式

以上的查询等价于
db.collection.find({name: {$eq: "mumu"}}) https://i-blog.csdnimg.cn/blog_migrate/d7f8df01e973fdc09578a835c36c02a2.png
$eq是比较符,更多详情,请参考页面Query and Projection Operators — MongoDB Manual

更新操作

update

   这个下令的第三个参数是一个可选的选项


[*]upsert:如果不存在update的记载,是否插入新的记载。默认false,不插入
[*]multi:是否按条件查询出的多条记载全部更新。 默认false,只更新找到的第一条记载
[*]writeConcern:决定一个写操作落到多少个节点上才算乐成。
https://i-blog.csdnimg.cn/blog_migrate/35b57690f2dbc8ae682baa37f605f766.png

updateOne

更新单条数据,好比文档ID为ObjectId("6526ffd80353355e5a66f7ab")的name修改为heyunlin
db.collection.updateOne({_id: ObjectId("6526ffd80353355e5a66f7ab")}, {$set: { name: "heyunlin" }}) https://i-blog.csdnimg.cn/blog_migrate/552b18bba9a9629935b356b191897f26.png

updateMany

更新多条数据

replaceOne

替换一条数据

关于修改操作符,请参考官网
Update Operators — MongoDB Manual

删除操作

deleteOne

删除一条记载:
删除名字为张三的数据
db.collection.delete({name: "张三"}) https://i-blog.csdnimg.cn/blog_migrate/ce733fc67e18360e881e4e81b3aae6f0.png

deleteMany

1、无条件删除:
db.collection.deleteMany() 2、带条件删除:
删除名字为mumu中的数据
db.collection.deleteMany({name: "mumu"}) https://i-blog.csdnimg.cn/blog_migrate/3bdd8861cd0f511ed2fa05f61dfcf634.png

五、关闭MongoDB

关闭方式一

bin/mongod --port=27017 --dbpath=/etc/mongodb/data --shutdown https://i-blog.csdnimg.cn/blog_migrate/ccf507ebfd9d1ad94f4fd05c6efdb4db.png

关闭方式二

use admin

db.shutdownServer()
关闭方式三

通过kill进程来关闭
ps -ef | grep mongodb

kill PID

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Ubuntu上安装、使用MongoDB具体教程