当前位置: 首页 > news >正文

MongoDB创建用户 、数据库、索引等基础操作

MongoDB的权限认证是相对来说比较复杂的,不同的库创建后需要创建用户来管理。

本机中的MongoDB是docker 启动的,所以先进入docker的镜像中

docker exec -it mongodb bash

这样就进入到了镜像MongoDB中,然后输入命令连接MongoDB数据库   注意用户名密码以及数据库名称

mongo -u 123 -p 123 --authenticationDatabase space

 出现这个界面说明登录成功

接下来开始创建数据库   创建表   创建索引的操作

//创建数据库 dyys
use dyys//创建用户
db.createUser({user: "123",pwd: "123",roles: [{ role: "readWrite", db: "dyys" }]
})//创建表 orbit_basic_data   orbit_data
db.createCollection("orbit_basic_data")
db.createCollection("orbit_data")//为上面两个表的_id字段新增唯一索引
db.orbit_basic_data.createIndex({ "_id": 1 }, { unique: true })
db.orbit_data.createIndex({ "_id": 1 }, { unique: true })//为orbit_basic_data表中字段 orbitName添加普通索引
db.orbit_basic_data.createIndex({ "orbitName": 1 })//查看表中的所有索引
db.orbit_basic_data.getIndexes()
//删除某个索引  这里的 "orbitName_1" 是索引的名称。请注意,MongoDB 的索引名称通常由字段名和排序方式组成。
db.orbit_basic_data.dropIndex("orbitName_1")

当然   一般我们实际使用时,需要进行挂载,因为不挂载的话每次关机后  docker下镜像都会删除所有数据,导致数据库丢失。所以可以用下面的命令进行挂载启动(centos中)

docker run --restart=always --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root -v /home/mongo/docker-data/27017/db/:/data/db -d mongo:4.4.10

-e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root

指定了当前镜像的用户名密码为root  root

-v /home/mongo/docker-data/27017/db/:/data/db

指定将数据挂载到宿主机-v /home/mongo/docker-data/27017/db目录下

这样当我们再次启动的时候,也不会导致数据库丢失

连接数据库

mongo -u root -p root
创建数据库

use dyys
创建用户并授权

db.createUser({
  user: "dyysuser",
  pwd: "dyyspassword",
  roles: [
    { role: "readWrite", db: "dyys" }
  ]
})
退出mongo

quit()
即可

http://www.lryc.cn/news/118829.html

相关文章:

  • Docker容器监控(Cadvisor +Prometheus+Grafana)
  • 家电用PCM板:市场现状研究分析与发展前景预测
  • 详解lambda表达式(一):表达式定义与异常处理
  • UE5、CesiumForUnreal接入WMTS格式地图瓦片,如ArcGIS、Mapbox、天地图
  • AI模型公司如何定位 ?
  • C#,OpenCV开发指南(01)
  • windows永久关闭更新
  • python类型转换笔记.python运算符笔记
  • 【CSS】背景图定位问题适配不同机型
  • 20 个实例玩转 Java 8 Stream
  • 局部变量数组和malloc申请的指针使用区别和注意事项
  • Springboot2.5.6整合Elasticsearch7.12.1完整示例
  • 全网超全,接口自动化测试-动态数据生成/替换数据(实战应用)
  • CRUD操作-select
  • SD-WAN网络加速及应用场景分析
  • python机器学习(六)决策树(上) 构造树、信息熵的分类和度量、信息增益、CART算法、剪枝
  • eNSP:ospf和mgre的配置
  • 培训报名小程序-订阅消息发送
  • 资深测试员才知道的五个行业秘密
  • Ozone命令行接口详解
  • 机器学习笔记 - 基于C++的​​深度学习 二、实现卷积运算
  • python pandas 获取Excel文件下所有的sheet名称,表格数据
  • gateway做token校验
  • C#学习记录-线程
  • Spring Boot 启动注解分析
  • React Native数据存储
  • 【网络编程】揭开套接字的神秘面纱
  • MySQL 8.0 事务定义和基本操作
  • 项目经理必备:常用的项目管理系统推荐!
  • 【香瓜说职场】信任危机(2022.08.19)