【MongoDB】Re01 安装与基础操作
2022/2/2 19:13:41
本文主要是介绍【MongoDB】Re01 安装与基础操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Linux安装
官网下载红帽安装版
#下载三个rpm包 wget https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-4.2/RPMS/mongodb-org-tools-4.2.8-1.el7.x86_64.rpm wget https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-4.2/RPMS/mongodb-org-server-4.2.8-1.el7.x86_64.rpm wget https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-4.2/RPMS/mongodb-org-shell-4.2.8-1.el7.x86_64.rpm
然后安装
#安装包 sudo rpm -ivh mongodb-org-server-4.2.8-1.el7.x86_64.rpm sudo rpm -ivh mongodb-org-shell-4.2.8-1.el7.x86_64.rpm sudo rpm -ivh mongodb-org-tools-4.2.8-1.el7.x86_64.rpm
更改配置的IP绑定,使其支持远程访问
# 修改配置文件,这样就可以远程连接 sudo vi /etc/mongod.conf # 把bindIp: 127.0.0.1改成 bindIp: 0.0.0.0
相关的服务命令:
# 启动服务 service mongod start # 关闭服务 service mongod stop # 重启服务 service mongod restart # 设置开机自启动 systemctl enable mongod.service
命令操作:
登陆mongoDB
# 登陆本机实例 mongo # 或者登陆远程实例 mongo --host=centos7-03 --port=27017
登陆成功展示mongoDB实例的信息:
[root@centos7-02 mongo-db]# mongo MongoDB shell version v4.2.8 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e581b090-f450-4a25-acef-93ddbd85d630") } MongoDB server version: 4.2.8 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: 2022-02-02T13:05:37.482+0800 I CONTROL [initandlisten] 2022-02-02T13:05:37.482+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2022-02-02T13:05:37.482+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2022-02-02T13:05:37.482+0800 I CONTROL [initandlisten] 2022-02-02T13:05:37.483+0800 I CONTROL [initandlisten] 2022-02-02T13:05:37.483+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2022-02-02T13:05:37.483+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2022-02-02T13:05:37.483+0800 I CONTROL [initandlisten] 2022-02-02T13:05:37.483+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2022-02-02T13:05:37.483+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2022-02-02T13:05:37.483+0800 I CONTROL [initandlisten] --- Enable MongoDB's free cloud-based monitoring service, which will then receive and display metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL accessible to you and anyone you share the URL with. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring() To permanently disable this reminder, run the following command: db.disableFreeMonitoring() --- >
一、库操作:
查看实例中已经持久化的所有库:
# show dbs # show databases ######################################### > show dbs admin 0.000GB config 0.000GB db-01 0.000GB local 0.000GB ######################################### > show databases admin 0.000GB config 0.000GB db-01 0.000GB local 0.000GB
默认库:
admin: 从权限的角度来看,这是"root"数据库。 要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。 一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。 local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合 config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息
切换库 use '库名' ,如果库不存在则创建该库并切换
> use db-03 switched to db db-03
库名的一些声明规范
# 数据库名称设置要求 - 不能是空字符串("")。 - 不得含有' '(空格)、.、$、/、\和\0 (空字符)。 - 应全部小写。 - 最多64字节。
这个库还只存在于内存中,因为库里没有任何表(集合),没有任何存储的数据
mongoDB就不会持久化到硬盘中,如何证明?
再次查询所有库,会发现切换的db-03库在列表中不存在
> show dbs admin 0.000GB config 0.000GB db-01 0.000GB local 0.000GB
删除当前正在使用的数据库(持久化了的才有效):
db.dropDatabase()
刚刚的db-03只存在与内存中,未持久化,执行不会影响
> use db-03 switched to db db-03 > show dbs admin 0.000GB config 0.000GB db-01 0.000GB local 0.000GB > db.dropDatabase() { "ok" : 1 } > show dbs admin 0.000GB config 0.000GB db-01 0.000GB local 0.000GB
如果是持久的db-01,则会被删除
> show dbs admin 0.000GB config 0.000GB db-01 0.000GB local 0.000GB > use db-01 switched to db db-01 > db.dropDatabase() { "dropped" : "db-01", "ok" : 1 } > show dbs admin 0.000GB config 0.000GB local 0.000GB
修改库名:
MongDB没有直接修改库名的操作
可以借助集合改名或者创建新库持久化后,删除原库实现
https://blog.csdn.net/chandoudeyuyi/article/details/80038743
二、集合(表)操作
> db.createCollection('table-01') { "ok" : 1 }
查看当前库下所有的集合
# show collections # show tables > show collections table-01 > show tables table-01
集合命名规范:
集合名不能是空字符串""。 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。 集合名不能以"system."开头,这是为系统集合保留的前缀。 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除 非你要访问这种系统创建的集合,否则千万不要在名字里出现$。
默认集合创建:
当向一个集合中插入一个文档的时候,如果集合不存在,则会自动创建集合。 提示:通常我们使用隐式创建文档即可。
删除集合
# 一般删除 db.集合名.drop() # 特殊字符删除 db.getCollection("集合名").drop(); ########################## > db.getCollection('table-03').drop(); true > db.getCollection('table-03').drop(); false # 特殊字符使用这种删除会报错 > db.table-03.drop() 2022-02-02T14:24:24.124+0800 E QUERY [js] uncaught exception: TypeError: 3.drop is not a function : @(shell):1:10
这篇关于【MongoDB】Re01 安装与基础操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享