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. Java基础练习1(数据类型转换)

    1.下列代码的输出结果是:()(单选) public static void main(String[] args){ double money = 3.0; money -= 2.9; System ...

  2. 总结微信公众平台网页开发中遇到的ios的兼容问题

    1. ios中音频不自动播放: 原因:出于节省流量的初衷,ios系统禁止音视频自动播放. 解决方案:使用微信的JS-SDK. DEMO: 先引入微信的JS-SDK, <script src=&q ...

  3. Genymotion Android模拟器Genymotion的安装和使用

    Android模拟器Genymotion的安装和使用 by:授客 QQ:1033553122 环境: Win7 Genymotion 2.12.0 下载地址:http://download.canad ...

  4. 在linux系统部署Svn

      步骤一:安装subversion 1) 连接xshell,在xshell输入命令:yum install subversion 2) 查看安装svn服务的版本:svnserve --version ...

  5. 技能提升丨Seacms 8.7版本SQL注入分析

    有些小伙伴刚刚接触SQL编程,对SQL注入表示不太了解.其实在Web攻防中,SQL注入就是一个技能繁杂项,为了帮助大家能更好的理解和掌握,今天小编将要跟大家分享一下关于Seacms 8.7版本SQL注 ...

  6. PHP中$GLOBALS和global的区别

    很多人都认为$GLOBALS['var']和global $var只是写法上不同,其实并不是这样 根据官方的解释是  $GLOBALS['var']是外部全局变量$var的本身, 而global $v ...

  7. IDEA:Maven项目找不到mapper文件 无法自动映射

    如果你发现所有的功能都报找不到映射的错,有可能是因为mapper文件没有被编译 在eclipse中,把资源文件放在src下,是可以被编译的 但是在idea中,直接把资源文件放在src下,如果不进行设置 ...

  8. scala获取某个时间间隔的时间

    原始 dataFrame : //获取前7天的时间long类型 def getDaytimeTime(day:Int): Long = { val cal = Calendar.getInstance ...

  9. Linux配置成网关

    之前按照诸葛建伟的metasploit魔鬼训练营搭了个简单的内网环境,其中就是一台linux作为内网网关.但是虚拟机开启的时候经常出现包不能转发的情况,也就是网关没有配置好. 在网上找了好几个才找到适 ...

  10. 深入解读MySQL8.0 新特性 :Crash Safe DDL

    前言 在MySQL8.0之前的版本中,由于架构的原因,mysql在server层使用统一的frm文件来存储表元数据信息,这个信息能够被不同的存储引擎识别.而实际上innodb本身也存储有元数据信息.这 ...