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. JenKins使用pm2部署.net core网站

    登录事先准备好的 Jenkins 1 新建任务 2 源码管理 git 输入正确地址 3 构建环境:Delete workspace before build startsAbort the build ...

  2. docker(1)应用场景以及安装

    今年来了新公司,公司没有用什么新技术,架构就简单的前后分离,但是我推一下新的技术,在这基础上我要培训一下同事,让他们能接受,对新技术不感到陌生,并且认可愿意去学习.其实在这个过程中也能让他们认同我这个 ...

  3. .Net 特性 attribute 学习 ----自定义特性

    什么是特性? [Obsolete("不要用无参构造函数",true)] 放在方式上, 该方法就不能使用了  [Serializable]放在类上面.该类就是可以序列化和反序列化使用 ...

  4. VMWare安装Mac系统后无法全屏显示的问题

    系统: VMTOOLs下载: 链接:https://pan.baidu.com/s/1KIzVWtPrb2vSrtokONToBw 提取码:zea3 1.虚拟机设置--显示器--监视器--指定监视器设 ...

  5. SpringBoot2.0之八 多数据源配置

     在开发的过程中我们可能都会遇到对接公司其他系统等需求,对于外部的系统可以采用接口对接的方式,对于一个公司开发的两个系统,并且知道相关数据库结构的情况下,就可以考虑使用多数据源来解决这个问题.Spri ...

  6. PHP mysql查询工具

    PHP基于PDO的 mysql 查询工具 单页面实现,将页面放在任意目录即可. 访问用户 admin 密码 password 代码很简单,主要为了在没有phpMyAdmin时方便执行SQL. 效果如下 ...

  7. LindDotNetCore~Ocelot实现微服务网关

    回到目录 网关在硬件里有自己的定义,而在软件架构里也有自己的解释,它就是所有请求的入口,请求打到网关上,经过处理和加工,再返回给客户端,这个处理过程中当然就是网关的核心,也是Ocelot的核心,我们可 ...

  8. SAMBA服务和FTP服务讲解(week3_day1)--技术流ken

    samba服务 Smb主要作为网络通信协议; Smb是基于cs架构: 完成Linux与windows之间的共享:linux与linux之间共享用NFS 第一步:安装samba [root@ken ~] ...

  9. 玩转SpringBoot之定时任务详解

    序言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一.基于注解(@Scheduled) 二.基于接口(SchedulingConfigurer) 前者相信大家都很熟悉, ...

  10. 【网摘】EasyUI常用控件禁用启用方法

    1.validatebox可以用的用法:前两种适用于单个的validatebox; 第三种应用于整个form里面的输入框; <1>.$("#id").attr(&quo ...