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. 设计模式之Singleton模式和Strategy模式是什么

    Singleton模式 单例模式,也交单子模式,有时候系统只需要拥有一个全局对象. 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建.这个类提供了一种访问其唯一的对象的方 ...

  2. css控制UL LI 的样式详解(推荐)

    代码如下: <div id="menu"> <ul> <li><a href="#">首页</a>& ...

  3. #if和#ifdef的区别

    学习STM32偶然发现:在Keil中直接预先定义宏USE_STDPERIPH_DRIVER,但是却没有指定宏的值.而在头文件中判断用的是如下代码: #ifdef USE_STDPERIPH_DRIVE ...

  4. emacs 高亮

    用途:让某个单词高亮显示 1,安装 m-x 回车,输入list-packages 在列表中找到highlight-symbol后,鼠标点击它,再点击安装 2,在.emacs中配置 ;;高亮 (requ ...

  5. Windows Server 2016-Netdom Join之客户端加域(二)

    上章节我们介绍了如何通过图形化界面实现用户加域操作,本章节为大家简单介绍如何通过netdom join命令实现计算机加域操作.具体信息如下: 将工作站或成员服务器加入域.将计算机加入域的行为会为域中的 ...

  6. 二、使用docker-compose搭建AspNetCore开发环境

    1 使用docker-compose搭建开发环境 我们的目标很简单:使用docker-compose把若干个docker容器组合起来就成了. 首先使用Nginx代理所有的Web程序,这样只需要在主机上 ...

  7. Go中链路层套接字的实践

    1. 介绍 2. 服务端 3. 协议头部 4. 客户端 5. 总结 1. 介绍 接上次的博客,按照约定的划分,还有一层链路层socket.这一层就可以自定义链路层的协议头部(header)了,下面是目 ...

  8. Android or Java的回调粗俗理解 这才是最通俗易懂的

    FUCK,网上装逼者甚众矣! 网上一堆关于JAVA函数回调的见解文章,都说自己写的明白,但没几个我看的明白的. 不如自己写一个东西,回头自己看着舒服 回调函数:定义自己百度 干嘛的? 场景就是事务A执 ...

  9. ASP.NET Core Web API 版本控制

    在nuget.org上,您可以找到  Microsoft.AspNetCore.Mvc.Versioning包,它提供了有关如何对Web API端点进行版本化的更多选项.这个包的好处是允许你直接在控制 ...

  10. dev Gridcontrol控件属性部分

    XtraGrid的关键类就是:GridControl和GridView.GridControl本身不显示数据,数据都是显示在GridView/CardView/XXXXView中.GridContro ...