linux——MongoDB服务

news2024/10/6 8:28:57

一、MongoDB概述

        MongoDB是一个nosql数据库它有高性能、无模式文档型的特点是nosql数据库中功能最丰富,最像关系型数据库,数据库格式BSON。

相关概念

        实例:        系统上运行的MongoDB的进程类似于mysql的实例

        库:        每个数据库都是独立的,有自己的用户,权限,独立存储集合,类似与mysql的库

        集合:        有一组文档构成,类似于mysql的表

        文档:        mongodb数据库的最小数据集,是由多个键值对有序组合的数据单元,类似与mysql的数据记录

        主键:        唯一标识一行数据

特性

        面相集合文档存储,适合存储json形式的数据

        格式自由,数据格式不固定,数据结构发生变更的同时不会影响程序运行

        面向对象的sql查询语句,基本涵盖关系型数据库的所有查询语句

        有索引的支持,查询效率更快

        支持复制和故障转移

        可以使用分片集群提升查询性能

应用场景

        游戏

        物流

        社交

        物联网

        视频直播

        大数据

二、安装

一、编译安装

二、rpm安装

        配置mongo源        vim /etc/yum.repo.d/mongo.repo

        [mongodb-org-4.2]
        name=MongoDb Repository
        baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
        gpgcheck=1
        enabled=1
        gpgkey=https://www.monyum install -y mongodb-orggodb.org/static/gpg/server-4.2.asc

        安装        yum install -y mongodb-org

        启动数据库        systemctl start mongod.service

二、目录结构

        rpm -ql mongodb-org-server

                /etc/mongod.conf    主配置文件
                                                        port: 27017                    监听端口号
                                                        bindIp: 127.0.0.1            监听地址

                /run/mongodb            PID文件

                /usr/bin/mongod            启动命令

                /var/lib/mongo            存储数据文件

                /var/log/mongodb            日志

        rpm -ql mongodb-org-shell

                /usr/bin/mongo            客户端命令

        rpm -ql mongodb-org-tools

                /usr/bin/mongodump            备份数据库

                /usr/bin/mongoexport            备份文档

                /usr/bin/mongoimport            恢复文档

                /usr/bin/mongorestore            恢复数据库

三、默认数据库

admin

        从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。
        一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local

        这个数据库永远不会被复制,可以用来存储限于本地单台服务器的任意集合。

config

        当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

四、数据库操作

库操作

        查看数据库            show database

                                     show dbs

        显示当前所在数据库            db

        切换数据库            use  dbName

        数据库创建                隐式创建
                                                    不用主动创建,使用use newDB,会自动创建不存在的数据库
                                                    只有在库中创建集合后才会保存,并使用show dbs查看到

        删除数据可                use dbName   db.dropdatabase()(需要在库中才能删除)

 

文档操作

        查看集合                show  tables

        创建集合                db.createCollection("test ") (集合test)

        删除集合                db。需要删除的集合名称.drop()

         插入数据(文档) db.集合名称.insert({key:value})                单行插入数据

                                       db.集合名称.insertmany ([{key:value},{key:value},{key:value}]

                                                                                                        多行插入数据

                               mongodb默认数字的数据类型float浮点型,若要改变为整型:NumberInt(数字)

        查询数据        db.集合名称.find({})                全集合查询

                                db.集合名称.find()                 全集合查询

        条件查询        db.info.find({查询条件1key:value,查询条件2,...},{key1:1|0,key2:1|0,...})

                                key:1 显示,key:0 不显示

                                当显示的key只有一个时,key:1 只显示该key及对应value,key:0 显示除了该key之外其他所有keyvalue

        查询集合中有多少文档        db.集合名称.count()

         删除数据        db.集合名称.remove({})​​​​​​​        ​​​​​​​

                                 db.集合名称.remove({key:value})

         更新数据        db.info.update({_id:"3"}, {$set:{name:"jack"}})

        所有满足条件的文档都进行更新         db.info.update({'name':'wangwu'},{$set:{password:"tom"}},{multi:true})

        更新文档进行数值递增                db.info.update({userid:""},{$inc:{likenum:NumberInt()}})

 五、MongoDB数据库备份

一、备份

mongodump

        -h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        -o=<path>

         语法        mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectory

 mongoexport

        -h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        -o=<path>

        语法        mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.json

 二、恢复

mongorestore

        -h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        --drop 当目标数据库中存在同名集合则删除再恢复

        语法         mongorestore -h hostName -u username -p password -d dbName -c tableName bakcupDirector/bsonFile

 mongoimport

        ·-h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        --drop 当目标数据库中存在同名集合则删除再恢复

        语法        mongoimport -d dbName -c tableName -h hostName:port -u userName -p Password  backupDirectory/jsonFile.json

 

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

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

相关文章

汇编知识点之80x86指令系统

指令系统主要考虑以下几个方面&#xff1a; ①对PSW影响  影响/不影响/不定义 ②B/W  字节还是字操作 ③寻址方式 ④功能 ⑤格式 一、数据传送指令 1.通用数据传送指令 (1) MOV DST,SRC    &#xff1c;–>  (DST)<–(SRC) 注&#xff1a;1.二者不能同时为段…

java练习3.快速查找

题目: 数组 arr[6,1,3,7,9,8,5,4,2],用快速排序进行升序排序. import java.util.Random;public class recursionDemo {public static void main(String[] args) {/*快速排序:* 第一轮:以0索引为基准数,确定基准数在数组正确的位置,* 比基准数小的放到左边,比基准数大的放在右边…

python实战-将mysql表结构导出到word文档

背景 将项目中用到的表的结构写入到word文档&#xff0c;格式如下&#xff1a; 解决思路 -- 注意这次最初的思路&#xff0c;操作简单但是重复的操作很多最后选择了python 使用sql将这些字段查出来&#xff0c;然后导出到excel或者excel xml&#xff0c;然后粘贴到word SELEC…

Mathematica 与 Matlab 常见复杂指令集汇编

Mathematica 常见指令汇编 Mathematica 常见指令 NDSolve 求解结果的保存 sol NDSolve[{y[x] x^2, y[0] 0, g[x] -y[x]^2, g[0] 1}, {y, g}, {x, 0, 1}]; numericSoly sol[[1, 1, 2]]; numericSolg sol[[1, 2, 2]]; data Table[{x, numericSoly[x], numericSolg[x]},…

Redis_缓存1_缓存类型

14.redis缓存 14.1简介 穿透型缓存&#xff1a; 缓存与后端数据交互在一起&#xff0c;对服务端的调用隐藏细节。如果从缓存中可以读到数据&#xff0c;就直接返回&#xff0c;如果读不到&#xff0c;就到数据库中去读取&#xff0c;从数据库中读到数据&#xff0c;也是先更…

基于鲲鹏平台Ceph深度性能调优

刘亮奇 架构师技术联盟 2021-04-12 07:50 摘自&#xff1a; https://mp.weixin.qq.com/s/o9HH-8TF0DbMqHrvsFh1NA 随着 IOT、大数据、移动互联等应用的暴涨&#xff0c;产生的数据也越来越多&#xff0c;整个存储市场总量也逐年增长&#xff0c;预计到 2021 年分布式存储会占到…

文本分类实战-NLP

数据集及任务分析 项目主题&#xff1a;新闻的主题分类&#xff0c;10分类任务 一般对于NLP项目来说的话需要进行数据预处理的&#xff0c;但是由于本项目的数据是经过处理过的&#xff0c;所以就不需要进行数据预处理了&#xff0c;但是数据预处理对NLP项目是重中之重的。 TH…

【力扣周赛】第 358 场周赛

文章目录 竞赛链接Q1&#xff1a;6939. 数组中的最大数对和竞赛时代码—— O ( n 2 ) O(n^2) O(n2)解法2——一次遍历 O ( n ) O(n) O(n)&#xff0c;维护最大数位为 i 的元素的最大值 Q2&#xff1a;6914. 翻倍以链表形式表示的数字竞赛时代码——存入列表再计算解法2——只有…

批量提取文件名到excel,详细的提取步骤

如何批量提取文件名到excel&#xff1f;我们的电脑中可能存储着数量非常多的电子文件&#xff0c;现在需要快速将这些文件的名称全部提取到Excel中。虽然少量数据可以通过复制粘贴的方式轻松完成&#xff0c;但是对于上万个数据而言&#xff0c;复制粘贴都是行不通的&#xff0…

【考研数学】高等数学第三模块——积分学 | Part II 定积分(反常积分及定积分应用)

文章目录 前言三、广义积分3.1 敛散性概念&#xff08;一&#xff09;积分区间为无限的广义积分&#xff08;二&#xff09;积分区间有限但存在无穷间断点 3.2 敛散性判别法 四、定积分应用写在最后 前言 承接前文&#xff0c;梳理完定积分的定义及性质后&#xff0c;我们进入…

陪诊小程序开发|陪诊陪护小程序让看病不再难

陪诊小程序通过与医疗机构的合作&#xff0c;整合了医疗资源&#xff0c;让用户能够更加方便地获得专业医疗服务。用户不再需要面对繁琐的挂号排队&#xff0c;只需通过小程序预约服务&#xff0c;便能够享受到合适的医疗资源。这使得用户的就医过程变得简单高效&#xff0c;并…

vue基础知识三:v-show和v-if有什么区别?使用场景分别是什么?

一、v-show与v-if的共同点 我们都知道在 vue 中 v-show 与 v-if 的作用效果是相同的(不含v-else)&#xff0c;都能控制元素在页面是否显示 在用法上也是相同的 <Model v-show"isShow" /> <Model v-if"isShow" />当表达式为true的时候&#…

使用 Python 在 NLP 中进行文本预处理

一、说明 自然语言处理 &#xff08;NLP&#xff09; 是人工智能 &#xff08;AI&#xff09; 和计算语言学的一个子领域&#xff0c;专注于使计算机能够理解、解释和生成人类语言。它涉及计算机和自然语言之间的交互&#xff0c;允许机器以对人类有意义和有用的方式处理、分析…

Debian 10驱动Broadcom 无线网卡

用lspci命令查询无线网卡品牌&#xff1a; 运行下面代码后&#xff0c;重启即可。 apt-get install linux-image-$(uname -r|sed s,[^-]*-[^-]*-,,) linux-headers-$(uname -r|sed s,[^-]*-[^-]*-,,) broadcom-sta-dkms

Springboot MultipartFile文件上传与下载

yml文件配置是否可以上传及上传附件大小 servlet:multipart:# 允许文件上传enabled: true# 单个文件大小max-file-size: 20MB# 设置总上传的文件大小max-request-size: 50MB /*** param files* param request* Description 上传文件* Throws* Return java.util.List* Date 202…

Dynamics 365 视图

1 视图分类 如图,视图分为查找视图、关联视图、公共视图三类。其中查找视图又可分为查找视图、高级查找视图、快速查找视图。 查找视图从名称来看,就是查找记录使用的,相当于预置了一些过滤条件,且控制查询的结果展示的列。只不过使用的位置不同,具体如下。 公共视图是最…

实践-CNN卷积层

实践-CNN卷积层 1 卷积层构造2 整体流程3 BatchNormalization效果4 参数对比5 测试效果 1 卷积层构造 2 整体流程 根据网络结构来写就可以了。 池化 拉平 训练一个网络需要2-3天的时间。用经典网络来&#xff0c;一些细节没有必要去扣。 损失函数&#xff1a; fit模型&…

量子计算的突破:从理论到实践

章节一&#xff1a;引言 随着信息时代的到来&#xff0c;计算科学与技术也在不断迎来新的突破与革新。其中&#xff0c;量子计算作为一项引人瞩目的前沿技术&#xff0c;正逐渐从理论走向实践。量子计算以其在处理复杂问题上的巨大潜力&#xff0c;吸引着全球科学家和工程师的关…

需求调研前需要做哪些准备?

大家好&#xff0c;我是沐尘而生&#xff0c;今天让我和大家一起走进&#xff0c;产品经理实战百问百答&#xff0c;从问题入手&#xff0c;一步一个脚印&#xff0c;习惯产品经理岗位。 我将从需求调研的角度出发&#xff0c;为大家详细介绍一下在开始调研前需要做哪些准备工作…