——网鸟老兵系列课程之10天掌握MongoDB

Slides:



Advertisements
Similar presentations
“ 税融通 ” 业务简要介绍. + 一、什么是 “ 税融通 ” ? + “ 税融通 ” 是指银行金融机构根据中小微企业 纳税情况,向依法诚信的中小微企业提供 一定数额的信用贷款或担保贷款的金融产 品。
Advertisements

平台的优点: ( 1 )永久免费: 学校和老师使用校讯通平台发送短信 是免费的,并且通过使用平台,可获得部分购物卡补贴。 ( 2 )移动办公: 校讯通不受时间和空间的限制,只要 有一台可以上网的电脑,老师便可以通过互联网发送短信 给家长,能够实现移动办公,节省老师的工作时间。 ( 3 )简单易用:
教师资格认定 培 训 会 教师教育学院 了解政策 具备条件 准备材料 (报名、体检 – ) 体检 ( — ) 网上申报 ( ) 实践能力测试 ( ) 专家评审 ( ) 领取证书.
此时此刻,我还是爱你?还是不爱? 我想,我不爱你了! 因为我累了, 我爱得累了 …………. 你的好对于我来说 像是一种无形的压力 每次你对我好 我都觉得好难承受 你越是对我好 我就越怕你 总是想逃避。
心理咨询师的个人品牌建设 徐钧 南嘉心理咨询师部落(俱乐部) 申请 QQ 酒香还怕巷子深 你需要一个 “ 个人品牌 ” 以让别人知道你 你是谁? 你的目标是什么? 你要成为什么样的人? 你能做什么? 你会怎样做? 怎么与你有效沟通?
和合共美,同修共进 ——工作室三年感言 何伟俊
技工院校德育课程的改革与建设 苏州大学 田 雷 全国中等职业技术学校德育教材研究专家组组长 全国技工院校德育课课程标准主撰
校园法治网 ◎传播校园法制文明 ◎营造校园法治环境
人类行为的起源 康复医学系 王海成 医学教授 精神科主任医师 QQ: 手机:
广州市档案专业技术资格 申报评审有关事项 姓名:付建华 联系电话: 联系地址:广州市番禺区大学城档案馆路33号A403科教处
高考成功心理 平凉一中 刘雅娟.
运筹帷幄 决胜高考 应怎样去做? 湖北黄冈中学 余利平 QQ:
推销自己是一种才华,是一种艺术。 有了这种才华, 你就能安身立命, 使自己处于不败之地。 卡耐基.
精神疾病与社区处理.
制定和执行一标两案的基点 —对技能大赛和教学质量检测工作的认识
淮北一中2014心理班会课1 (给莘莘学子加油) QQ:
加强作风建设 同心共筑 四川省委党校 任春艳.
中公教育湖南分校 地址:长沙市建湘南路154号惟楚国际6楼 电话:
健康所系,性命相托 ——2012级新生教育管理工作阶段总结 中山大学中山医学院 汇报人:刘少静.
第四章 账户及复式记账的应用 教学目的与要求:本章内容属于会计实务部分。通过本章的教学,使学生掌握制造企业经济业务的核算内容及账务处理,进一步加深对复式记账原理的理解,熟练掌握借贷记账法在制造企业的实际应用。 教学重点:运用借贷记账法对制造企业的经济业务进行账务处理。 教学难点:利润的核算;期末各账户之间的相互结转。
机电工程系党总支 机电工程系发展党员程序 和材料准备规范.
关于“人肉搜索”的滥用及其所引发的 “网络暴力”的道德与法律思考
第四章 中国近代文化 思想 科技 教育 历史 文学 戏剧 百侯中学 QIUHANZHANG制作 QQ: 绘画 退出.
创新大赛经验浅谈 高二(18)班 黄佳淇.
2009年普通高等学校招生统一考试云阳中学考点 2009年高考9考前叮嘱 云阳中学余小游.
譬喻法 可讓文句多采多姿 她跑得像隻黑豹般快速.
教育年鉴条目的撰写.
知使命 尽职责 护“财富” 努力当好“保健医生” 中共深圳市纪委退休干部 张定坤
责任 感恩 安全 开学第一课 广西柳州市柳东新区雒容镇盘古小学王秀娅 QQ:
(讲座幻灯课件请在网上下载,让我们一起思考!)
江苏省苏州市教育科学研究院 袁卫星 QQ: 中职语文有效教学设计 江苏省苏州市教育科学研究院 袁卫星 QQ:
道路货物运输业 纳税评估会议 大榭国家税务局纳税人学校.
第 4 章 社會中的文化 一、文化的意義與特徵 二、文化的內涵 三、次文化 四、文化的傳承與創新 課後複習 歷屆基測試題.
研修路上风光无限 宁城县幼儿一班班级简报 第四期 主编 吴清华 2015年5月11日.
湖南省怀化市中小学信息技术 学科考试系统培训交流
历史唯物主义复习 2011年3月9日.
学年各年级上学期期末工作布置会 武昌区教研培训中心 黄志平 2015年12月.
主讲人:张森林 科技合作部 山东大学深圳研究院
短促·匆忙 初二(10)班.
“活力在基层”团日活动总结 佛山科学技术学院 13教育技术数媒2团支部 本模板来源于网络,由第一课件网整理发布,免费分享给大家使用。
班级安全文化建设的思考与实践 夯实安全基础 规范安全行为 培养安全习惯 训练安全能力 尤 学 文 管 理 学 博 士
国家开学大学典礼上讲话要点 尹世华.
单招班主任培训会 生源地助学贷款解读 单招班主任工作要求 新生资助政策解读 学生工作处 2015年5月.
优卡会介绍资料 ——健 康 数 据 管 理 专 家—— ——爱上优卡会,生活好品味
民法学考研直播讲堂 王利明《民法》 考前直播答疑 主讲老师:乔 斌.
江 苏 省 泰 兴 市 洋 思 中 学 欢 迎 您.
美麗的縱谷- 台東景點走透透 黎芮君.
让好习惯成就孩子一生 杨丽芬 国家二级心理咨询师,著有《当个好妻子 做个好妈妈》一书(当当网有售)。 国内外唯一把女性经营婚姻和教育孩子有机融合在一起的书。 上架两个月以来靠着大家口碑相传,目前在这个类别近千本书中综合排名一百名左右。
以最佳的状态迎接中考 ——中考考生考前指导
点亮心灯 主讲:丁洪海 中华家庭教育网家庭教育发展战略研究中心首席指导;中华家庭心理教育指导中心首席指导。
2015年统计年报和2016年 定期统计报表制度培训 劳动工资年报 门 头 沟 区 统 计 局 门头沟区经济社会调查队 2015年12月.
2015年统计年报和2016年 定期统计报表制度培训 劳动工资年报 门 头 沟 区 统 计 局 门头沟区经济社会调查队 2015年12月.
在 线 考 试 系 统 的 设 计 学 生: 班 级: 指导老师:.
班主任例会(二)
第5章 NoSQL数据库 (PPT版本号:2017年2月版本)
Mongodb初中级实战教程 讲师:涂宗勋 讲师的CSDN博客地址
Spring & mongodb java实战mongodb 曹巍 2013年9月22日.
个人介绍 我是小小.
有美为鳞族,潜蟠得所从。标奇初韫宝,表智即称龙。
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
课前注意 课前注意 大家好!欢迎加入0118班! 请注意以下几点: 1.服务:卡顿、听不清声音、看不见ppt—管家( ) 2.课堂秩序:公共课堂,勿谈与课堂无关或消极的话题。 3.答疑:上课听讲,课后答疑,微信留言。 4.联系方式:提示老师手机/微信: QQ:
電機電子 成員:吳昇洋 張哲瑜 高振捷 楊博文 李世麒.
Javascript 基础 面向非JS语言的开发人员.
2.1 数据库的创建 2.2 表的组成 2.3 表的创建 2.4 表间关系的建立
業務員 傷害險通報作業 新光人壽內網-產險傷害險通報P2~P4 【個人】傷害險通報作業P5~P10 【團體】傷害險通報作業P11~P16
2017学考复习 信息管理(导引P37).
印天电子白板软件使用讲解 -杨馥宇 QQ:
临床试验管理平台操作指南 (申办方用) 浙江省人民医院机构办.
本文档介绍 1. 如何使用同一台电脑录课; 2. 如何在其他电脑录课;
建筑信息化引领者 联系方式 营销类 V8.5 功能方案书 建筑施工项目管理系统&OA系统.
Presentation transcript:

——网鸟老兵系列课程之10天掌握MongoDB 陈颜铭出品 第一天:认识MongoDB ——网鸟老兵系列课程之10天掌握MongoDB 网鸟出击,必属精品! 微博:http://t.qq.com/ymindo QQ:120468681(ymind chan) Q群:47700865(刺客巅峰)

声明 声明一哈 网鸟QQ群 本PPT根据《MongoDB: The Definitive Guide》原版制作而成; 我很穷,但我大胆的承认我看的是盗版PDF; 如果您发现翻译或描述有误,请不吝赐教; 制作PPT时,我不一定会100%的引用书中提供的示例,看书的朋友不要见怪; 如果有任何疑问请通过微博或QQ反馈给我; 网鸟QQ群 刺客巅峰(47700865)——IT技术综合交流群组,这里神马都有。欢迎各种程序猿加入! NoSQL(23152359)——新建的NoSQL专用群组,来吧!来吧!欢迎各位光临! 研发团队(3178011)——想入此群请先xx,呵呵,请先加老陈QQ(120468681)!

MONGODB简介 功能丰富 可扩展性 无模式 高性能 易管理 索引 聚合 分布式文件系统 存储JavaScript 定容集合 可扩展性 数据分片 负载均衡 海量数据支撑 无模式 非关系型 面向文档的数据存储 高性能 空间预分配 内存映射 非事务性 易管理 Server自治机制 自动故障转移 动态集群 很多朋友将MongoDB亲切的译为“芒果”,老陈反对这个叫法,发音也相差较远,依着我,应该翻译为“猛狗”,酱紫才够强大够给力!

MONGODB数据架构 文档 集合 数据库 Database Collection Document

数据库、集合、文档命名规范 数据库 集合 文档 任意UTF-8字符串(比如:网鸟); 不能是空字符串; 不得包含以下字符: (空格) 、 .、$、/、\、\0; 长度不得超过64字节; 保留字:admin、local、config等; 集合 不能包含\0 、 $; 不能以system.开头; 文档 不能包含\0、 $; 不能以_开头;

版本选择 平台选择 下载安装 MONGODB的下载与安装 MongoDB的版本命名规范如:x.y.z; 详情:http://www.mongodb.org/display/DOCS/Version+Numbers 版本选择 生产环境使用32位机器的,老陈无话可说,反正64位又运行不了,你没的选; 在64位机器上坚决要使用64位版本,可以获得更大的内存映射空间,提升MongoDB的性能; 至于操作系统,MongoDB是跨平台的,在下载页面找自己对应的版本即可; 平台选择 下载地址:http://www.mongodb.org/downloads; 直接运行:解压后,在命令行执行%setupPath%\bin\mongod.exe即可; 作为Windows服务:请参考http://www.mongodb.org/display/DOCS/Windows+Service; 其他操作系统请参考:http://www.mongodb.org/display/DOCS/Quickstart; 下载安装

MONGODB SHELL 运行Shell 数据操作 打开命令行; 执行%setupPath%\bin\mongo.exe即可进入MongoDB Shell; 在MongoDB Shell中可以运行任何JavaScript脚本; 在Shell中可以键入help以获取帮助,当然,都是E文的; 数据操作 创建: db.test.insert({ “Name” : “ymind chan”, “age” : 8 }); 读取: db.test.find({ “Name” : “ymind chan” } ); 更新: db.test.update(“Name” : “ymind chan”, { “$set” : { “age” : “5” } } ); 删除: db.test.remove({ “Name” : “ymind chan” } ); 这里只是简单示例,更详细的教学还在后面!

MONGODB的数据类型 MongoDB底层使用Bson来维护数据,Bson是一种二进制下的类似于Json的数据格式。 以下是MongoDB中几个值得啰嗦一下的数据类型: MongoDB的基本数据类型 MongoDB的数组 MongoDB的文档嵌套 MongoDB的ObjectId

MONGODB的基本数据类型 null bool 数字 字符串 日期 regex code binary 数组 嵌套文档 其他 这个有神马好说的?? null true、false; bool 仅支持64位浮点数,其他类型的数字会自动转化为此格式; 数字 支持UTF-8字符集; 字符串 存储标准纪元开始的毫秒数,不含时区; 日期 符合JavaScript语法的正则表达式; regex 任何JavaScript代码; code 可存储任意字节数的字节数组,但在Shell中无法使用; binary 对象集合或列表在MongoDB可以被存储为数组; 数组 一个文档可以包含另外一个文档; 嵌套文档 详细内容请参考http://bsonspec.org/#/specification; 其他

MONGODB的数组 MongoDB中的数组既可以作为有序对象(如列表)来操作,也可以作为无序对象(如集合)来操作。MongoDB可以以原子操作的形式来修改或删除数组中的元素。 下面是一个数组示例(不用怀疑,这就是Json语法): { // 这个不是数组 "Status" : 0, // 这个是空数组 "Messages" : [], // 包含3个元素的数组 "ResponseBody" : [ "h010t00101025", "h010t00101039", "h010t00101040“ ] }

MONGODB的文档嵌套 文档式存储的特色就是允许文档对象的嵌套,这能够使我们的实体数据在MongoDB的存在形式更加自然。 老陈忠告:不要滥用嵌套文档,对于需要复杂运算才能完成的嵌套应当使用外键模式来解决,否则之后的DAL(Data Access Layer,数据访问层)开发会相当痛苦! 以下是一个嵌套文档的格式示例: // 根文档 { "Status" : 0, // 嵌套文档 "ResponseBody" : { "CityName" : "北京", "Keyword" : "钓鱼台", // 再套一个数组,数组的每个元素又是文档,NB吧! "Landmarks" : [ { “Name” : “北京钓鱼台国际旅行社” }, { "Name" : "钓鱼台“ } ] }

MONGODB的OBJECTID ObjectId是_id(貌似前面木有提过?木有关系,_id是MongoDB在每个文档中的默认唯一标识的名称)的默认类型。 ObjectId的结构如下: 如上图所述,ObjectId可以保证同一台机器上不同进程(即MongoDB实例)生成的值都是唯一的。详情请参考:http://www.mongodb.org/display/DOCS/Object+IDs 注意事项: 当插入的文档并没有指定_id的时候,MongoDB会自动创建,并使用ObjectId类型; _id可以被指定为其他的类型,比如整数; 关于自增标识,MongoDB没有内置自增标识,在目前的roadmap中也没有相关的规划,自定义自增标识的方法将会在后续内容中专门讲解;

结束语 采纳 缺点 分享 老陈接触MongoDB一年多了,已经被彻底征服; 我自己的项目(www.yuding8.com)已经完全抛弃了关系型数据库; 缺点 最大的缺点就是无法支持复杂运算,因为按照MongoDB的架构思想来说呢,是想把这些都转移到驱动或App上; 为了解决这个缺点,老陈自行研发了EntityDB与之互补(小声的说一句:EntityDB是使用C#开发的内存数据库托管框架,以较低的硬件成本换取高性能的复杂运算,但不保证绝对的稳定性)。 GEO搜索不支持传统意义上的距离运算,而是使用“经纬度”“差值”,这个让我很纠结,甚至我放弃了其内置的GEO特性; 分享 我强烈的推荐大家使用各种NoSQL方案来逐步的替代已有的关系型数据库(我不特指MongoDB); 对于新技术要多创建原型程序进行实践论证,而不是人云亦云,实际上我并不认为MongoDB就是绝对的最好; 我主要做.NET开发,当前MongoDB官方提供的C#驱动中的连接池管理机制存在一些问题,在使用的时候应当尽量避免并发!

广告 老陈诚邀有志之士以及乐于分享的朋友加盟组 团共建此站,此站定位是非营利性技术交流平台, 如果您抱着捞一把的心态加盟,请绕行。 老陈一年前就想组建MongoDB中文社区,但命不好,注册MongoDB.CN失败(你们懂的),第二天 被无耻的易名中国抢注,在此,偶强烈建议大家不要到易名中国查询未注册域名,那丫心贼黑!省略脏字 3000个。后来无奈,我注册了MongoDB.CC。 老陈诚邀有志之士以及乐于分享的朋友加盟组 团共建此站,此站定位是非营利性技术交流平台, 如果您抱着捞一把的心态加盟,请绕行。 祝您好运!