linux——MongoDB服务

目录

一、MongoDB概述

相关概念

特性

应用场景

二、目录结构

三、默认数据库

admin

local

config

四、数据库操作

库操作

文档操作

 五、MongoDB数据库备份

一、备份

mongodump

 mongoexport

 二、恢复

mongorestore

 mongoimport

​编辑


一、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.hqwc.cn/news/72594.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游乐场vr设备虚拟游乐园vr项目沉浸体验馆

在景区建设一个VR游乐场项目可以为游客提供一种新颖、刺激和沉浸式的游乐体验。提高游客的体验类型&#xff0c;以及景区的类目&#xff0c;从而可以吸引更多的人来体验。 1、市场调研&#xff1a;在决定建设VR游乐场项目之前&#xff0c;需要进行市场调研&#xff0c;了解当地…

【Linux】IO多路转接——poll接口

目录 poll初识 poll函数 poll服务器 poll的优点 poll的缺点 poll初识 poll也是系统提供的一个多路转接接口。 poll系统调用也可以让我们的程序同时监视多个文件描述符上的事件是否就绪&#xff0c;和select的定位是一样的&#xff0c;适用场景也是一样的。 poll函数 po…

(二)Git在公司中团队内合作和跨团队合作和分支操作的全部流程(一篇就够)

&#xff08;一&#xff09;Git连接GitHub的全部流程https://blog.csdn.net/m0_65992672/article/details/132333727 团队内协作 项目经理通过git push将代码推送到远程仓库【也就是git、gitee等代码托管中心】,推完以后组员可以通过git clone克隆下来代码&#xff0c;如果组…

初阶C语言-结构体

&#x1f31e; “少年有梦不至于心动&#xff0c;更要付诸行动。” 今天我们一起学习一下结构体的相关内容&#xff01; 结构体 &#x1f388;1.结构体的声明1.1结构的基础知识1.2结构的声明1.3结构成员的类型1.4结构体变量的定义和初始化 &#x1f388;2.结构体成员的访问2.1结…

文字点选验证码识别(上)-YOLO位置识别

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 文章中没有代码,只有过程思路,请大家谨慎订阅。…

【探索Linux】—— 强大的命令行工具 P.5(yum工具、git 命令行提交代码)

阅读导航 前言一、软件包管理器 yum1.yum的概念yum的基本指令使用例子 二、git 命令行提交代码总结温馨提示 前言 前面我们讲了C语言的基础知识&#xff0c;也了解了一些数据结构&#xff0c;并且讲了有关C的一些知识&#xff0c;也学习了一些Linux的基本操作&#xff0c;也了…

侯捷 C++ part2 兼谈对象模型笔记——7 reference、const、new/delete

7 reference、const、new/delete 7.1 reference x 是整数&#xff0c;占4字节&#xff1b;p 是指针占4字节&#xff08;32位&#xff09;&#xff1b;r 代表x&#xff0c;那么r也是整数&#xff0c;占4字节 int x 0; int* p &x; // 地址和指针是互通的 int& r x;…

VSCODE[配置ssh免密远程登录]

配置ssh免密远程登录 本文摘录于&#xff1a;https://blog.csdn.net/qq_44571245/article/details/123031276只是做学习备份之用&#xff0c;绝无抄袭之意&#xff0c;有疑惑请联系本人&#xff01; 这里要注意如下几个地方: 1.要进入.ssh目录创建文件: 2.是拷贝带"ssh-…

react 生命周期方法

组件的生命周期 每个组件都包含 “生命周期方法”&#xff0c;你可以重写这些方法&#xff0c;以便于在运行过程中特定的阶段执行这些方法。你可以使用此生命周期图谱作为速查表。在下述列表中&#xff0c;常用的生命周期方法会被加粗。其余生命周期函数的使用则相对罕见。 挂…

深度学习与计算机相结合:直播实时美颜SDK的创新之路

时下&#xff0c;实时美颜技术就成为了直播主们的得力工具&#xff0c;它可以在直播过程中即时处理视频画面。而支持实时美颜功能的SDK更是推动了这项技术的发展&#xff0c;让直播主和普通用户都能轻松使用美颜功能。 一、美颜技术的演进 早期的美颜技术主要依赖于简单的图…

Kafka 什么速度那么快

批量发送消息 Kafka 采用了批量发送消息的方式&#xff0c;通过将多条消息按照分区进行分组&#xff0c;然后每次发送一个消息集合&#xff0c;看似很平常的一个手段&#xff0c;其实它大大提升了 Kafka 的吞吐量。 消息压缩 消息压缩的目的是为了进一步减少网络传输带宽。而…

Android Studio实现解析HTML获取图片URL,将URL存到list,进行瀑布流展示

目录 效果展示build.gradle(app)添加的依赖(用不上的可以不加)AndroidManifest.xml错误代码activity_main.xmlitem_image.xmlMainActivityImage适配器ImageModel 接收图片URL效果展示 build.gradle(app)添加的依赖(用不上的可以不加) dependencies {implementation co…