MongoDB数据库

目录

一、概述

二、安装

三、目录结构

四、MongoDB数据库操作

五、MongoDB数据库备份


一、概述

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

相关概念

实例:系统上运行的mongodb的进程,类似于mysql实例;

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

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

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

主键:唯一标识一行数据

特性:
                1、面向集合文档存储,适合存储json形式的数据;
                2、格式自由,数据格式不固定,数据结构发生变更的同时不会影响程序运行;
                3、面向对象的sql查询语句,基本涵盖关系型数据库的所有查询语句;
                4、有索引的支持,查询效率更快;
                5、支持复制和自动故障转移;
                6、可以使用分片集群提升查询性能

应用场景:游戏、物流、社交、物联网、视频直播、大数据

二、安装

创建本地yum源

cd /etc/yum.repos.d/

 vim mongodb.repo

yum install -y mongodb-org

服务名:mongod

启动服务:systemctl start mongod

进入数据库:mongo

三、目录结构

1)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   日志

2)rpm -ql mongodb-org-shell

/usr/bin/mongo   客户端命令

3)rpm -ql mongodb-org-tools

/usr/bin/mongodump   备份数据库

/usr/bin/mongoexport   备份文档

/usr/bin/mongoimport   恢复文档

/usr/bin/mongorestore    恢复数据库

四、MongoDB数据库操作

一)库操作

查看数据库

show databases

show dbs

显示当前所在数据库:db

切换数据库:use  dbName

数据库创建:

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

删除数据库:

use dbName

db.dropdatabase()

二)文档操作

查看集合:show tables

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

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

插入数据(文档):

db.集合名称.insert({key:value})  单行

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

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

查询数据

全集合查询:

db.集合名称.find({})

db.集合名称.find()

条件查询

db.集合名称.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.集合名称.update({条件}, {$set:{更改的值}})

所有满足条件的文档都进行更新db.集合名称.update({条件},{$set:{更改的值}},{multi:true})

未更新

更新 

更新文档进行数值递增db.集合名称.update({条件},{$inc:{更改的数值}})

未更新

更新 

五、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

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-物理层(二)- 传输方式

计算机网络-物理层&#xff08;二&#xff09;- 传输方式 串型传输与并行传输 串行传输:是指数据是一个比特一个比特依次发送的&#xff0c;因此在发送端和接收端之间&#xff0c;只需要一条数据传输线路即可 并行传输:是指一次发送n个比特而不是一个比特&#xff0c;因此发送…

电脑ip地址怎么改 ip地址怎么改到别的城市

一、ip地址怎么改到别的城市 1.ip地址怎么改到别的城市&#xff0c;1、重启WIFI路由设备 一般手机或电脑在家或公司上网时都是接入到路由器的WIFI网络,再由路由器分配上网IP地址,如果要更换上网IP那么重启路由器设备后,路由器会向网络运营商进行宽带的重新拨号,此时手机或电脑设…

Gin安装解决国内go 与 热加载

get 方式安装超时问题&#xff0c;国内直接用官网推荐的下面这个命令大概率是安装不成功的 go get -u github.com/gin-gonic/gin 可以在你的项目目录下执行下面几个命令&#xff1a; 比如我的项目在E:\Oproject\zl cmd E:\Oproject\zl>就在目录下执行 go env -w GO111…

推断统计(配对样本t检验)

根据题目我们也可以看出配对样本 t 检验是用来检验两配对正态总体的均值是否存在显著差异的一种假设检验方法&#xff0c;虽然是两组数据但是其来自同一部分个体在两个时间段内的测试数据&#xff0c;是同一部份个体&#xff01; 进行配对样本 t 检验之后也是分别做出原假设和备…

i18n 配置vue项目中英文语言包(中英文转化)

一、实现效果 二、下载插件创建文件夹 2.1 下载cookie来存储 npm install --save js-cookienpm i vue-i18n -S 2.2 封装组件多页面应用 2.3 创建配置语言包字段 三、示例代码 3.1 main.js 引用 i18n.js import i18n from ./lang// 实现语言切换:i18n处理element&#xff0c…

【计算机视觉|生成对抗】改进的生成对抗网络(GANs)训练技术

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Improved Techniques for Training GANs 链接&#xff1a;[1606.03498v1] Improved Techniques for Training GANs (arxiv.org) 摘要 本文介绍了一系列应用于生成对抗网络&#xff08;G…

数据库设计

一 需求分析(requirement analysis) 根据用户对系统的使用需求&#xff0c;明确系统需要的数据和它们如何使用。也是整个设计过程的基础。通过详细调查现实世界要处理的对象&#xff0c;充分了解原系统工作概况&#xff0c;明确用户的各种需求&#xff0c;然后在此基础上确定新…

STM32F103C8T6蓝牙OTA教程

一、准备与简介 1. 准备材料 文章使用的软硬件并不局限&#xff0c;下述仅作参考&#xff0c;文章的所有使用的工程可在文末获取&#xff08;百度网盘Github&#xff09; 1&#xff09;STM32F103C8T6核心板 2&#xff09;下载器&#xff08;PWLINK&#xff09; 3&#xff0…

Linux文件属性查看和修改学习

一、基本属性 1、看懂文件属性&#xff1a; Linux系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c; Linux系统对不同的用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了不同的…

Spark(39):Streaming DataFrame 和 Streaming DataSet 输出

目录 0. 相关文章链接 1. 输出的选项 2. 输出模式(output mode) 2.1. Append 模式(默认) 2.2. Complete 模式 2.3. Update 模式 2.4. 输出模式总结 3. 输出接收器(output sink) 3.1. file sink 3.2. kafka sink 3.2.1. 以 Streaming 方式输出数据 3.2.2. 以 batch …

Https、CA证书、数字签名

Https Http协议 Http协议是目前应用比较多应用层协议&#xff0c;浏览器对于Http协议已经实现。Http协议基本的构成部分有 请求行 &#xff1a; 请求报文的第一行请求头 &#xff1a; 从第二行开始为请求头内容的开始部分。每一个请求头都是由K-V键值对组成。请求体&#xf…

微服务05-Sentinel流量防卫兵

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以 流量 为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 S…

06-2_Qt 5.9 C++开发指南_自定义对话框及其调用

本篇介绍到的对话框及其调用实例较为复杂但十分详细&#xff0c;如果做了解可以先参考&#xff1a;QT从入门到实战x篇_13_模态和非模态对话框创建。 文章目录 1. 对话框的不同调用方式2. 对话框QWDialogSize 的创建和使用2.1 创建对话框QWDialogSize2.2 对话框的调用和返回值 …

C++入门基础(万字详解!!!)

文章目录 前言1.C关键字2.命名空间3.C的输入输出4.缺省参数4.1 全缺省4.2 半缺省 5.函数重载6. 引用6.1 引用的特性6.2 引用的使用场景6.3 引用和指针 7.内联函数7.1 特性 8.auto关键字8.1 注意事项 9. 基于范围的for循环9.1 使用条件 10.指针控制nullptr10.1 注意事项 11.总结…

LVGL学习笔记 28 - 键盘keyboard

目录 1. 设置关联文本框 2. 设置模式 2.1 LV_KEYBOARD_MODE_TEXT_LOWER 2.2 LV_KEYBOARD_MODE_TEXT_UPPER 2.3 LV_KEYBOARD_MODE_SPECIAL 2.4 LV_KEYBOARD_MODE_NUMBER 2.5 LV_KEYBOARD_MODE_USER_1 ~ LV_KEYBOARD_MODE_USER_4 3. 使能弹窗模式 4. 更改按键布局 5. 事…

P12-Retentive NetWork-RetNet挑战Transformer

论文地址:https://arxiv.org/abs/2307.08621 目录 Abstract 一.Introduction 二.Retentive Networks 2.1Retention 2.2Gated Multi-Scale Retention 2.3Overall Architecture of Retention Networks 2.4Relation to and Differences from Previous Methods 三.Experime…

Vue 安装开发者工具

1.下载开发者工具&#xff0c;下载地址&#xff1a;http://book.wiyp.top/App/Vue3开发者工具-谷歌/Vue3.crx 2.打开谷歌浏览器&#xff0c;点击扩展&#xff0c;点击管理扩展程序。 3.开启开发者模式&#xff0c;将 Vue3 开发者工具文件拖拽到浏览器中进行安装。 注&#xff…

Pytorch源码搜索与分析

PyTorch的的代码主要由C10、ATen、torch三大部分组成的。其中&#xff1a; C10 C10&#xff0c;来自于Caffe Tensor Library的缩写。这里存放的都是最基础的Tensor库的代码&#xff0c;可以运行在服务端和移动端。PyTorch目前正在将代码从ATen/core目录下迁移到C10中。C10的代…

pdf怎么压缩?一分钟学会文件压缩方法

PDF文件过大一般主要原因就是内嵌大文件、重复的资源或者图片比较多&#xff0c;随之而来的问题就是占用存储空间、被平台限制发送等等&#xff0c;这时候我们可以通过压缩的方法缩小PDF文件大小&#xff0c;下面就一起来看看具体的操作方法吧。 方法一&#xff1a;嗨格式压缩大…

SQL | 汇总数据

9-汇总数据 9.1-聚集函数 在实际开发过程中&#xff0c;可能会遇到下面这些情况&#xff1a; 确定大于某个值的有多少行数据&#xff0c;比如游戏排行榜&#xff0c;查询玩家排行多少名。 获取表中某些行的和&#xff0c;比如双十一当天&#xff0c;某个用户总订单价格是多少…