MongoDB是nosql(非关系型数据库)中的一种,面向文档的数据库,介于传统的结构化数据库(关系型数据库)与非关系型数据库(文件储存)之间的一种,具有数据结构非常松散和非常灵活的特点;常用于存储分布式文件,以便与大数据处理
Linux + MySQL + Apache + PHP = lamp

优势:免费 + 开源 + 官方技术支持

需要理解的概念: MongoDB Mongo 索引 集合 复制集 分片 数据均衡

搭建简单的单机服务

搭建具有冗余容错功能更的复制集

搭建大规模数据集群

完成集群的自动部署

使用:
最基本的文档的读写更新删除;
各种不同类型的索引的创建和使用
复杂的聚合查询
对数据及进行分片,在不同的分片中维持数据的平衡
数据的备份与恢复
数据迁移

简单运维:
常见故障:单节点失效,如何恢复工作?
数据库被意外杀死如何进行数据恢复?
数据库发生拒绝服务时如何排查原因?
数据库磁盘快满时怎么处理?

需要的网站:
www.mongodb.org
官网
www.mongoing.com
国内官网
docs.mongoing.com
中文文档
gtiub.com/MongoDB
源码下载

数据库的概念:
有组织的存放数据;
按照不同的需求进行查询;
SQL数据库:支持SQL语言的数据库.(oracle MySQL);
nosql数据库:不支持SQL语言的数据库(Redis MongoDB)

SQL数据库 NOSQL数据库
↓ ↓
实时一致性 简单便捷
事 务 方便扩展
多表联合查询 更好的性能
特色:
1.没有数据结构限制:
没有表结构的限制,每条记录有不同的结构
业务开发便捷
SQL数据库需要事先定义表结构在使用
2.完全的索引支持
单键索引 多键索引
数组索引
全文索引
地理位置索引
3.方便的冗余和扩展
复制集保证数据安全
分片扩展数据规模

4.良好的支持
完善的文档
齐全的驱动支持

MongoD:数据库部署
mongo:链接MongoDB的客户端
mogonexport和mongoimport:MongoDB的导入导出
mogondump和mogonrestore:二进制数据的导入导出,不能被读取,用来备份
mogonoplog:操作日志得回放 数据集合
mogonstat:查看MongoDB服务器的各种状态

小结:
MongoDB由"数据库"组成,数据库由集合组成,集合由文件组成.域组成了文档,文档可以被索引从而提高了查找和排查的性能,
MongoDB读取数据库是通过游标进行的
(表换成集合,行换成文档,列换成域)

MongoDB的使用:
第一步:
在根目录下创建两个文件夹data和log;
第二步:
在data文件夹下创建文件夹db;
第三步:/* 命令提示符要在管理员的情况下 */
在在命令提示符里输入mongod --dbpath g:\data\db(注意:C:\MongoDB\bin>进入到下载的文件夹下的bin)运行MongoDB服务器
E.G:
C:\MongoDB\bin>mongod --dbpath g:\data\db
第四步:/* 命令提示符要在管理员的情况下 */
在在命令提示符里输入mongo.exe执行MongoDB连接MongoDB
E.G:
C:\MongoDB\bin>mongo.exe

学习:
创建数据库: use 数据库名
观看所有数据库: show dbs
查看数据库下的表: show tables
删除数据库: use 数据库名 db.dropDatabase()
删除集合: use 集合所在数据库名 db.集合名.drop()
添加集合: use 数据库名 db.createCollection("集合名")
添加文档: use 数据库名(写在哪个数据库就写哪个数据库名) db.集合名.insert({name:"zhang",age:"22"})
更新数据库(修改): db.集合名.up({'name':"zhang"},{$set {'name':"张"}}) save是替换原来的集合,写法类似添加
删除文档: db.inventory.deletemany({'name':"张"})//删除name等于张的所有文档
db.inventory.deleteone({'name':"张"})//删除name等于张的一个文档
db.inventory.deletemany({})//删除集合下的所有文档
查询文档: db.集合名.find() 可以加 .pretty查看,会更加详细
多条件使用逗号分开

E.G({'NAME':"张",'age':"22"})

自学MongoDB(1)的更多相关文章

  1. MongoDB系列:二、MongoDB常用操作练习

    最近在自学MongoDB,在此记录一下,当做学习笔记了(不断更新中)!! 一.背景 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存 ...

  2. nodeJS实战

    github代码托管地址: https://github.com/Iwillknow/microblog.git 根据<NodeJS开发指南>实例进行实战{{%并且希望一步步自己能够逐步将 ...

  3. 孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5

    孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongo ...

  4. 孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4

    孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作 ...

  5. 孤荷凌寒自学python第六十四天学习mongoDB的基本操作并进行简单封装3

    孤荷凌寒自学python第六十四天学习mongoDB的基本操作并进行简单封装3 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十天. 今天继续学习mongoDB的简单操作, ...

  6. 孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2

    孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第九天. 今天继续学习mongoDB的简单操作, ...

  7. 孤荷凌寒自学python第六十二天学习mongoDB的基本操作并进行简单封装1

    孤荷凌寒自学python第六十二天学习mongoDB的基本操作并进行简单封装1 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第八天. 今天开始学习mongoDB的简单操作, ...

  8. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  9. 孤荷凌寒自学python第六十天在windows10上搭建本地Mongodb数据服务

     孤荷凌寒自学python第六十天在windows10上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第六天.成功在本地搭建了windows ...

随机推荐

  1. .netcore2.1使用swagger显示接口说明文档

    项目之前开发完接口后,我们还需要写接口说明文档,现在有了swagger方便了很多,可以网页版直接测试,当然了也减少了我们的工作量. 使用swagger生成接口说明文档,大致需要2个步骤 1.从“管理 ...

  2. 使用myeclipse修改项目映射路径

    这里主要做下记录,找到myeclipse中对项目路径进行查看以及修改的地址 如图 点击项目右键 实例url:http://localhost:8080/myFirstServlet/one 对应路径中 ...

  3. 学习ELk之----02. Elastic Search操作入门

    我们将使用Postman来进行日志写入操作.Postman的下载地址,你可以Google一下. 1. 在上一节中,我们启动完成ELK的Docker后,可以在浏览器中打开:http://192.168. ...

  4. Alpha阶段Scrum Meeting合集(江山代有才人秃队)

    Day URL 第一天 第1篇Scrum冲刺博客 第二天 第2篇Scrum冲刺博客 第三天 第3篇Scrum冲刺博客 第四天 第4篇Scrum冲刺博客 第五天 第5篇Scrum冲刺博客 第六天 第6篇 ...

  5. 解决mysql中只能通过localhost访问不能通过ip访问的问题

    解决mysql中只能通过localhost访问不能通过ip访问的问题 原因是没开权限 SELECT * FROM USER WHERE USER='root'; grant all privilege ...

  6. 在keil中添加stc系列单片机型号(模型)方法

    1.下载安装stc-isp烧录软件: 官网:http://www.gxwmcu.com/ 2.打开使用stc-isp软件,并导入stc官方器件库: 注意:一定要找到包含有C51和UV4的文件夹 3.显 ...

  7. 使用 whistle 替代本地 nginx/webpack 服务

    加入鹅厂之后,我发现团队都在用一款叫做 Whistle 的工具,起初我以为这只是一款类似 Fiddler/Charles 的普通货色.然鹅,发现下面这两种用法之后,我把自己的膝盖摘下来献给了制作这款工 ...

  8. SpringCloud学习系列汇总

    Spring Cloud常用组件使用汇总 使用SpringBoot2.0.3整合SpringCloud 服务注册与发现Eureka 自定义Eureka集群负载均衡策略 如何使用高可用的Eureka F ...

  9. centos6.7 配置Elasticsearch

    Elasticsearch(以下简称ES),是一款开源的全文搜索引擎,获得了广泛的应用.这篇博客将介绍在centos6.7上如何配置ES. 一.安装JAVA环境 centos默认安装了JAVA环境,首 ...

  10. 01 JVM 从入门到实战 | 什么是 JVM

    什么是 JVM 先来看下百度百科的解释: JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算 ...