mongodb命令

mongodb简介、安装及配置

≡放荡痞女 提交于 2019-12-15 14:44:20
什么是MongoDB ? MongoDB 是由 C++语言编写 的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 主要特点 MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName=“Sameer”,Address=“8 Gandhi Road”)来实现更快的排序。 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。 Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。 MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。 Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。 Map和Reduce。Map函数调用 emit(key,value)遍历集合中所有的记录

CentOS7安装MongoDB3.6.5

时光怂恿深爱的人放手 提交于 2019-12-15 01:04:52
这里写自定义目录标题 CentOS7安装MongoDB3.6.5 系统 安装 CentOS7安装MongoDB3.6.5 由于mock需要用到mongodb来存储,所以先在本地电脑上安装了mongodb做测试,由于之前没接触过mongodb,所以安装过程中遇到了各种小问题,折腾了好久终于安装好并成功启动服务了。这里决定写一篇博客来记录一下安装过程以及遇到的问题的解决方案。 系统 安装 到 ** mongodb **官网下载对应系统的压缩包,我的系统是CentOS7,64位。(注意不要选错系统版本,也可以在本地下载好后上传到云服务器)或者只用指令wget命令下载安装包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.13.tgz 解压 tar -zxvf mongodb-linux-x86_64-3.6.13.tgz 将解压后的文件夹移动到**/usr/local/的mongodb目录下 mv mongodb-linux-x86_64-3.6.13.tgz /usr/local/mongodb 创建数据库目录[创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限] cd /usr/local/mongodb sudo mkdir -p data/db sudo chmod -r 777 data

MongoDB高级操作

点点圈 提交于 2019-12-12 07:33:01
高级操作 2.1. 聚合 aggregate 2.1.1. $group 2.1.2. $match 2.1.3. $project 2.1.4. $sort 2.1.5. l i m i t 、 limit、 l i m i t 、 skip 2.1.6. $unwind 2.2. 安全 2.3. 复制(副本集) 2.4. 备份与恢复 2.5. 与python交互 2.6. 总结 高级操作 讲解关于mongodb的高级操作,包括聚合、主从复制、分片、备份与恢复、MR 完成python与mongodb的交互 聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum()、avg() 语法 db.集合名称.aggregate([{管道:{表达式}}]) 管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入 ps ajx | grep mongo 在mongodb中,管道具有同样的作用,文档处理完毕后,通过管道进行下一次处理 常用管道 $group:将集合中的文档分组,可用于统计结果 $match:过滤数据,只输出符合条件的文档 $project:修改输入文档的结构,如重命名、增加、删除字段、创建计算结果 $sort:将输入文档排序后输出 $limit:限制聚合管道返回的文档数 $skip:跳过指定数量的文档

Linux-安装-Yapi

给你一囗甜甜゛ 提交于 2019-12-11 21:12:23
time 20191204 author Venki ps 内网部署 目录指引 环境要求 安装nodejs 安装mongodb 安装YApi 启动YApi nginx代理 守护进程管理服务 Mongodb 参考文献 环境要求 回到顶部 如果您是将服务器代理到 nginx 服务器,请配置 nginx 支持 websocket # 在location /添加 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 依赖服务 nodejs(7.6+) (nodejs(7.6+)yapi是用nodejs开发的,所以需要此环境编译运行) mongodb(2.6+)(用来存储系统的数据) git 安装nodejs 回到顶部 获取资源 # 部署nodejs尽可能选择偶数版本,因为偶数版本官方有较长的维护时间,故这次选择8.x curl -sL https://rpm.nodesource.com/setup_8.x | bash - 安装 yum install -y nodejs 查看版本 node -v 查看npm版本 npm -v 安装mongodb 回到顶部 添加mongodb源文件 touch /etc/yum.repos.d

MongoDB中4种日志的详细介绍

女生的网名这么多〃 提交于 2019-12-11 18:38:11
前言 任何一种数据库都有各种各样的日志,MongoDB也不例外。MongoDB中有4种日志,分别是系统日志、Journal日志、oplog主从日志、慢查询日志等。这些日志记录着MongoDB数据库不同方面的踪迹。下面分别介绍这几种日志。 系统日志 系统日志在MongoDB数据库中很重要,它记录着MongoDB启动和停止的操作,以及服务器在运行过程中发生的任何异常信息。 配置系统日志的方法比较简单,在启动mongod时指定logpath参数即可 ? 1 mongod -logpath=/data/log/mongodb/serverlog.log -logappend 系统日志会向logpath指定的文件持续追加。 Journal日志 journaling(日记) 日志功能则是 MongoDB 里面非常重要的一个功能 , 它保证了数据库服务器在意外断电 、 自然灾害等情况下数据的完整性。它通过预写式的redo日志为MongoDB增加了额外的可靠性保障。开启该功能时,MongoDB会在进行写入时建立一条Journal日志,其中包含了此次写入操作具体更改的磁盘地址和字节。因此一旦服务器突然停机,可在启动时对日记进行重放,从而重新执行那些停机前没能够刷新到磁盘的写入操作。 MongoDB配置WiredTiger引擎使用内存缓冲区来保存journal记录

MongoDB基本操作

独自空忆成欢 提交于 2019-12-11 10:53:11
简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 查看官方网站 MongoDB特点 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储 JSON风格文件的形式 完整的索引支持:对任何属性可索引 复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移 自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器 丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组 快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片) 基本操作 0.0.简介 1.1. 环境安装 1.2. 数据库操作 1.3. 集合操作 1.4. 数据类型 1.5. 数据操作 1.6. 数据查询 1.6.1. Limit与Skip 1.6.2. 投影 1.6.3. 排序 1.6.4. 统计个数 1.6.5. 消除重复 基本操作 MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成 MongoDB文档类似于JSON对象,字段值可以包含其他文档、数组

mongodb基础操作

此生再无相见时 提交于 2019-12-11 10:04:43
文章目录 配置文件详解 安装 基本命令使用 表基本操作 官网下载地址: http://www.mongodb.org/downloads 此次安装版本下载地址: https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.7.tgz/download 帮助文档 https://www.runoob.com/mongodb/ 数据库管理工具 :https://github.com/iwind/rockmongo 配置文件详解 #日志文件位置 logpath=/data/db/journal/mongodb.log  (这些都是可以自定义修改的) # 以追加方式写入日志 logappend=true # 是否以守护进程方式运行 fork = true # 默认27017 #port = 27017 # 数据库文件位置 dbpath=/data/db # 启用定期记录CPU利用率和 I/O 等待 #cpu = true # 是否以安全认证方式运行,默认是不认证的非安全方式 #noauth = true #auth = true # 详细记录输出 #verbose = true # Inspect all client data for validity on receipt

MongoShake数据迁移mongodb

混江龙づ霸主 提交于 2019-12-11 09:45:59
简介 MongoShake是一个以golang语言进行编写的通用的平台型服务,通过读取MongoDB集群的Oplog操作日志,对MongoDB的数据进行复制,后续通过操作日志实现特定需求。日志可以提供很多场景化的应用,为此,我们在设计时就考虑了把MongoShake做成通用的平台型服务。通过操作日志,我们提供日志数据订阅消费PUB/SUB功能,可通过SDK、Kafka、MetaQ等方式灵活对接以适应不同场景(如日志订阅、数据中心同步、Cache异步淘汰等)。集群数据同步是其中核心应用场景,通过抓取oplog后进行回放达到同步目的,实现灾备和多活的业务场景。 开源下载地址 https://github.com/alibaba/MongoShake?spm=a2c4e.10696291.0.0.316619a4JXuDrN 二进制版本下载地址 https://github.com/alibaba/MongoShake/releases 实验环境 源mongodb 单机mongodb 10.23.215.213 800万条记录 > use testdb switched to db testdb > db.table1.count() 8000000 > 目标mongodb 下载mongoshake wget https://github.com/alibaba/MongoShake

数据库Mongodb

冷暖自知 提交于 2019-12-10 16:48:54
1.数据库 1.什么是数据库? 存储数据的一个仓库 2.数据库的分类? 关系型数据库( SQL )=>( mysql )和非关系型数据库( NOSQL )=>( Mongodb ) 3.如何区分一个数据库属于哪个类别? 看有没有表,有表就是 SQL ,没有就是 NOSQL 4.数据库的构成? 关系型数据库 数据库 -> 表 -> 行 非关系型数据库 数据库 -> 集合 -> 文档 2. MongoDB 1.概念 基于分布式文件存储的数据库 2.存储类型: BSON bson 是 json 的超集, bson 拥有 json 的所有,但是它有 json 没有的二进制类型 3. MongoDB 操作命令 show dbs 查看数据库列表 use 数据库名称 创建或是切换数据库 如果这个数据库没有,那么就是创建 如果有,那就是切换数据库 db.集合名称[ 复数 ].save() // 创建一个集合,并且往这个集合添加一条数据 db.集合名称[ 复数 ].insert() // 创建一个集合,并且往这个集合添加一条数据 save如果指定主键,那么就是修改 insert指定主键添加,会报错 show collections 查看数据库下有几个集合 db.users.remove({}) 删除数据库 db.users.find() 查找users集合中所有数据 db.users.findOne

Nodejs Auth模式下连接Mongodb

人走茶凉 提交于 2019-12-10 10:43:44
前言 最近公司的项目涉及到使用Nodejs+Express的一些业务,其中涉及到使用mongodb的连接问题。默认情况下linux上安装的mongodb有以下缺点: 1.不能远程访问 2.没有验证情况,任何人都能登录 解决以上问题:请参考 《 mongodb 实现远程连接 》 《 MongoDB 用户角色授权与AUTH启用 》 《 Mongodb安全认证 - 给指定的数据库添加用户》 当然,我们主要解决NodeJs连接问题: 一.创建数据库管理员 (1)我们首先就要建立一个超级管理员,然后再用超级管理员建立其他帐号: >use admin >db.addUser( { user: "root", pwd: "admin", roles: [ "userAdminAnyDatabase" ] } ) #角色默认是admin,我们可以通过 show roles命令查看所有可选角色 (2)为帐号启用admin数据库认证,这样他就可以操作admin数据库了。 >db.auth("admin", "admin") #认证帐号 >db.system.users.find(); #查看当前已有的用户信息 (3)使用用刚才的超级帐号登录数据库(admin) mongo --host 102.10.123.12 --port 27017 -u 'root' -p 'admin' admin 现在