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. cshtml中正则表达式使用后台代码

    //定义变量 bool a = false; //正则表达式 string b = @" ^ (13[0 - 9] | 14[5 | 7] | 15[0 | 1 | 2 | 3 | 5 | ...

  2. [PHP] ubuntu下使用uuid扩展获取uuid

    1.php生成uuid网上大部分是使用随机数md5截取的,很有可能会重复冲突 2.uuid的组成中最重要的一个是机器码,大部分是网卡MAC地址, php无法获取到机器码,因此不能直接使用代码来生成一个 ...

  3. Rest_framework Router 路由器(含SimplyRouter源码浅解)

    目录 Rest_framework Router 路由器 ViewSet结合Router,自动生成url. 将ViewSet注册到Router中,需要三个要素: 关于路由规则,细分有四类: rest_ ...

  4. 虹软人脸识别ArcFace2.0 Android SDK使用教程

    一.获取SDK 1.进入ArcFace2.0的申请地址 https://ai.arcsoft.com.cn/product/arcface.html 2.填写信息申请并提交 申请通过后即可下载SDK, ...

  5. 使用 HttpRequester 更方便的发起 HTTP 请求

    使用 HttpRequester 更方便的发起 HTTP 请求 Intro 一直感觉 .net 里面(这里主要说的是 .net framework 下)发送 HTTP 请求的方式用着不是特别好用,而且 ...

  6. idea上maven使用心得(三)——用pom.xml添加jar包

    下面是如何使用maven,maven在idea里面得结构应该是这样: scr底下是main,java是存放web的.java文件 resource目录一般是存放数据库连接数据的,或者存各种资源文件,音 ...

  7. windows手动去重 通配符

    在下载文件时,如果遇到重复文件,windows的默认做法时 文件名(数字) 这样的方式重命名的. 那么我们在排除重复文件时,可以使用  windows文件浏览器提供的查找功能,  用通配符   ~=& ...

  8. 多线程总结之旅(1):线程VS进程

    一.进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,也就是应用程序的执行实例,进程是系统进行资源分配和调度的一个独立单位.每个进程是由私有的虚拟地址空间.代码.数据和其它各种系统资 ...

  9. RecyclerView实现一个页面有多种item,每个item有多个view,并且可以让任意item的任意view自定义监听,通过接口方法进行触发操作

    百度了很多贴子,看着大佬的博客,模仿尝试,最终都是以失败告终,api可能版本不一样, 毕竟博客大佬都是7~8前写的,日期新点的都是好几年前了,多次尝试,还是报出莫名其妙的错. 哎,忧伤. 翻阅各种资料 ...

  10. 学习笔记01(mybatis逆向工程)

    今天来看看一个常用的小功能,就是mybatis的逆向工程.(数据库是mysql) 什么是逆向工程呢?看名字就知道反方向的一个什么工程! 其实啊,如果是平常我们自己学习实践一些小项目的时候,应该是先瞎写 ...