99 # mongo 的基本安装和配置

news2024/10/5 5:28:49

关系型数据库和非关系型数据库

  • MySQL Oracle SqlServer 用一种关系模型来组织数据的数据库(查询方便,不方便拓展)
  • nosql mongo redis memcached (不同于传统的关系数据库)

mongo 特点

  • 分布式:文档类型,值就是传统对象类型 key=>value BSON,储存复杂结构的数据
  • 性能高:不需要通过 SQL 层来进行解析(分析的过程 操作的过程 浪费性能),数据之间没有耦合,可以方便拓展,不适合复杂查询

mongo 的安装方式

https://www.mongodb.com/try/download/community

选择自己的版本
在这里插入图片描述
我参考的是这篇文章安装的:MongoDB下载安装教程

启动 mongodb

手动启动:自己启动服务端,并且指向路径储存的路径,然后启动客户端,需配置环境变量

mongod --dbpath="D:\Program Files\MongoDB\Server\4.4\data"
mongo

或者启动 MongoDB,再双击 mongo.exe

在这里插入图片描述

可执行文件的路径

"D:\Program Files\MongoDB\Server\4.4\bin\mongod.exe" --config "D:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg" --service

在这里插入图片描述
cfg 配置文件 D:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg 如下:

在这里插入图片描述
在这里插入图片描述
在浏览器访问:http://127.0.0.1:27017 出现如下页面证明 mongoDb 启动成功。

在这里插入图片描述

mongo 的语句

显示所有的数据库(默认免密码)

show dbs

在这里插入图片描述
如果数据库不存在,则创建数据库,否则切换到指定数据库。

use DATABASE_NAME

在这里插入图片描述
如果要查看已有集合,可以使用下面两个命令:

show collections
show tables

在这里插入图片描述
我们创建数据库kaimo,往集合 kaimo 里插入两条数据

use kaimo
db.kaimo.insertOne({"name":"凯小默1"})
db.kaimo.insertOne({"name":"凯小默2"})

在这里插入图片描述
查询

db.kaimo.find({})
db.kaimo.find({"name": "凯小默1"})

在这里插入图片描述

删除

db.kaimo.deleteOne({"name": "凯小默2"})

在这里插入图片描述

下面创建根用户,在创建一个数据库分配这个数据库的权限,默认可以在 admin 中创建根用户,创建其他数据库,在针对某个数据库中,创建用户,赋予当前权限,下次链接这个数据库时可以登录这个账号。

use admin
db.createUser({user: "root", pwd: "root", roles: ["root"]})

在这里插入图片描述
创建一个 user 库,给集合 student 添加两条数据

use user
db.student.insert({name:"凯小默", age: 313})
db.student.insert({name:"凯小默2", age: 3})

在这里插入图片描述
ObjectId 的构成

ObjectId 是一个 12 字节的 BSON 类型字符串,按照字节顺序,依次代表:

  • 4 字节:UNIX 时间戳
  • 3 字节:表示运行 MongoDB 的机器
  • 2 字节:表示生成此 _id 的进程
  • 3 字节:由一个随机数开始的计数器生成的值
ObjectId("65279b292d3834025d88a1b9")

MongoDB 开启安全认证,首先使用配置文件,增加参数:

security:
  authorization: enabled

在这里插入图片描述
在重新启动,执行 show dbs 发现看不到数据库了

在这里插入图片描述
以用户管理员身份进行连接和验证

use admin
db.auth("root", "root")
show dbs

在这里插入图片描述
再创建一个用户 kaimo313 去管理用户表,可读可写

use user
db.createUser({user: "kaimo313", pwd: "kaimo313", roles: [{role: "readWrite", db: "user"}]})

在这里插入图片描述
重启服务,访问 user 库里的所有集合,会提示:Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus

use user
show collections

在这里插入图片描述

上面的原因是因为连着的 MongoDB 中的 user 数据库它是有用户名和密码的,在没有进行登录的情况下,想直接查看数据库集合名称时,遭到了拒绝,因此,首先要进行登录操作,获得查看 collections 的权限。

db.auth("kaimo313", "kaimo313")
show collections

在这里插入图片描述

mysqlmongo
集合
行和列BSON

Robo 3T

Robo 3T:MongoDB 可视化工具

Robo 3T v1.4.3下载地址

我参考的是这篇:【Robo 3T】MongoDB可视化工具-- Robo 3T使用教程

点击【Create】,选择【Connection】输入需要连接的服务端【地址】和【端口】

在这里插入图片描述
配置权限
在这里插入图片描述
双击或者链接
在这里插入图片描述
在这里插入图片描述
配置user表权限
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

地下城堡3魂之诗阵容搭配攻略

在地下城堡3魂之诗游戏中,拥有一个合理搭配的阵容非常关键,可以让角色能力发挥最大化。以下是建议的阵容搭配及攻略: 关注【娱乐天梯】,获取内部福利号 1.核心成员(2名) 在阵容中选择两个输出型角色作为核心成员,他们的…

Vue实战项目1:跑马灯效果

Vue实战项目1&#xff1a;跑马灯效果 目录 一、效果预览二、编写思路三、整体代码展示 一、效果预览 二、编写思路 两个按钮用于启动和停止&#xff0c;绑定点击事件&#xff0c;使用v-on&#xff0c;可以简写为 <input type"button" value"跑起来" c…

扒一扒集成运放uA741的内部电路

uA741是一款常见的集成运放芯片,这个是uA741的内部电路。 Q1与Q2组成的差动对是整个741运算放大器的输入端,这两个三极管是射极跟随器的连接方式,特点是输入电阻大,输出电阻小。 Q1和Q2的输出接至共基极组态的PNP晶体管Q3和Q4

ECharts 双y轴时如何处理0刻度线对齐的问题

ECharts 多y轴时如何处理0刻度线对齐的问题 用echarts做双&#xff08;多&#xff09;轴时发现其中某轴有负数时0刻度线不对齐。 解决 首先判断是否有负数 const hasNegative Math.min(...seriesData[0], ... seriesData[1]);如果有的话&#xff0c;我的配置是这样的 yAxi…

Python利用jieba分词提取字符串中的省市区(字符串无规则)

目录 背景库&#xff08;jieba&#xff09;代码拓展结尾 背景 今天的需求就是在一串字符串中提取包含&#xff0c;省、市、区&#xff0c;该字符串不是一个正常的地址;,如下字符串 "安徽省、浙江省、江苏省、上海市,冷运标快首重1kg价格xx元,1.01kg(含)-5kg(不含)续重价…

RabbitMQ详细使用

工作队列 注意事项&#xff1a;一个消息只能被处理一次&#xff0c;不可以处理多次 轮询分发信息 消息应答 消费者在接收到消息并且处理该消息之后&#xff0c;告诉rabbitmq它已经处理了&#xff0c;rabbitmq可以把该消息删除了。倘若mq没有收到应答&#xff0c;mq会将消息转…

车载相关名词--车载数据中心方案

车载数据中心方案 参考链接:https://zhuanlan.zhihu.com/p/600031042?utm_id=0 下面这张图是小鹏汽车嵌入式系统高级专家 唐黾 在同ARM一起的一个演讲稿中发布的,是一张未来车载数据中心单芯片方案构想图。主要针对的是智驾域和座舱域融合方案,下面对如上图的内外部组件及…

telnet 连接闪退

目录 问题查找问题解决参考 问题 在使用 telnet 连接板子时&#xff0c;出现了 telnet 界面一闪而逝的情况。正常板子开机&#xff0c;查看其存在 telnetd 进程&#xff0c;而使用 telnet 后&#xff0c;登录界面一闪而逝&#xff0c;板子上的 telnetd 进程消失。 查找问题 …

go cpu、内存监控、性能分析:PProf

PProf PProf 是什么 PProf是 golang 官方提供的性能调优分析工具&#xff0c;用于分析和优化Go程序的性能。 PProf通过收集和分析程序的运行时数据来生成性能分析报告。它使用Go语言的运行时特性&#xff0c;如代码注释和特殊的程序运行标记&#xff0c;来收集性能数据。PPr…

【数据结构】二叉树--链式结构的实现 (遍历)

目录 一 二叉树的遍历 1 构建一个二叉树 2 前序遍历 3 中序遍历 4 后续遍历 5 层序 6 二叉树销毁 二 应用(递归思想) 1 二叉树节点个数 2 叶子节点个数 3 第K层的节点个数 4 二叉树查找值为x的节点 5 判断是否是二叉树 一 二叉树的遍历 学习二叉树结构&#xff0…

ubuntu22.04 电脑声音和腾讯会议等声音很小怎么修复

电脑的声音很小&#xff0c;特别是开微信会议的时候几乎听不到声音&#xff0c;而声音设置都已经设置为最大 这时候就是用命令 alsamixer腾讯会议的声音 调整这两个声音的大小即可 H键弹出帮助菜单 F6按键选择声卡 左右按键选择轨道 M键静音所选轨道 上下按键调整音量…

共生与共享:线程与进程的关系

&#x1f30d;前言 在计算机科学和操作系统领域&#xff0c;线程&#xff08;Thread&#xff09;和进程&#xff08;Process&#xff09;是两个关键概念。它们之间存在密切的关系&#xff0c;但又有着明显的区别。本文将深入探讨线程和进程之间的关系&#xff0c;以及它们在并…

CCF CSP认证 历年题目自练Day29

题目一 试题编号&#xff1a; 202112-1 试题名称&#xff1a; 序列查询 时间限制&#xff1a; 300ms 内存限制&#xff1a; 512.0MB 样例1输入 3 10 2 5 8 样例1输出 15 样例2输入 9 10 1 2 3 4 5 6 7 8 9 样例2输出 45 题目分析&#xff08;个人理解&#xff09; 还是…

数据库静态脱敏和动态脱敏解决方案 安当加密

安当KDPS数据保护系统的数据库脱敏功能是一种安全策略&#xff0c;它可以将数据库中的敏感数据进行脱敏处理&#xff0c;使得数据在被访问时不会泄露敏感信息。该功能主要具有以下特点&#xff1a; 可扩展性&#xff1a;可以支持多种数据库类型&#xff0c;如Oracle、MySQL、S…

分布式系统开发技术中的CAP定理原理

分布式系统开发技术中的CAP定理原理 在分布式系统开发中&#xff0c;CAP定理&#xff08;一致性、可用性和分区容忍性&#xff09;是指导我们设计、开发和维护系统的核心原理。该定理阐述了分布式系统中一致性、可用性和扩展性之间无法同时满足的矛盾关系&#xff0c;为我们提…

HDMI 基于 4 层 PCB 的布线指南

HDMI 基于 4 层 PCB 的布线指南 简介 HDMI 规范文件里面规定其差分线阻抗要求控制在 100Ω 15%&#xff0c;其中 Rev.1.3a 里面规定相对放宽了一些&#xff0c;容忍阻抗失控在 100Ω 25%范围内&#xff0c;不要超过 250ps。 通常&#xff0c;在 PCB 设计时&#xff0c;注意控…

深度学习_3_张量运算

代码&#xff1a; import torchimport osimport pandas as pd import numpy as npx torch.tensor([[1, 2, 3], [4, 5, 6]]) print(x) sumA x.sum(dim 0) print(sumA) print(torch.sum(x, dim 0, keepdim True)) print(x/torch.sum(x, dim 0, keepdim True) )

『Linux工具之』yum

前言 yum&#xff08; Yellow dog Updater, Modified&#xff09;是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM 包管理&#xff0c;能够从指定的服务器自动下载 RPM 包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装所…

rv1126-rknpu-v1.7.3添加opencv库

rv1126所使用的rknn sdk里默认是不带opencv库的&#xff0c;官方所用的例程里也没有使用opencv&#xff0c;但是这样在进行图像处理的时候有点麻烦了&#xff0c;这里有两种办法: 一是先用python将所需要的图片处理好后在转化为bin格式文件&#xff0c;在使用c或c进行读取&…

地下城堡3魂之诗食谱,地下城堡3菜谱37种

地下城堡3魂之诗食谱大全&#xff0c;让你解锁制作各种美食的方法&#xff01;不同的食材搭配不同的配方制作&#xff0c;食物效果和失效也迥异。但有时候我们可能会不知道如何制作这些食物&#xff0c;下面为您介绍地下城堡3菜谱37种。 关注【娱乐天梯】&#xff0c;获取内部福…