学习Mongodb(一)

图片摘录自陈彦铭出品2012.5的《10天掌握MongDB》

MongoDB的特点
--->面向集合存储,易于存储对象类型的数据
--->模式自由
--->支持动态查询
--->支持完全索引,包含内部对象
--->支持查询
--->支持复制和故障恢复
--->使用高效的二进制数据存储,包括大型对象(如视频等)
--->自动处理碎片,以支持云计算层次的扩展性
--->支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++语言的驱动程序,社区中也提供了对 Erlang 及.NET 等平台的驱动程序
--->文件存储格式为 BSON(一种 JSON 的扩展)
--->可通过网络访问

MongoDB的功能
---->面向集合的存储:适合存储对象及 JSON 形式的数据
---->动态查询:MongoDB 支持丰富的查询表达式。查询指令使用 JSON 形式的标记,可轻易
查询文档中内嵌的对象及数组
---->完整的索引支持:包括文档内嵌对象及数组。MongoDB 的查询优化器会分析查询表达
式,并生成一个高效的查询计划
---->查询监视:MongoDB 包含一系列监视工具用于分析数据库操作的性能
---->复制及自动故障转移:MongoDB 数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移
---->高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)
---->自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器

MongoDB的适用场合
--->网站数据:MongoDB 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性
--->缓存:由于性能很高,MongoDB 也适合作为信息基础设施的缓存层。在系统重启之后,由 MongoDB 搭建的持久化缓存层可以避免下层的数据源过载
--->大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储
--->高伸缩性的场景:MongoDB 非常适合由数十或数百台服务器组成的数据库。MongoDB的路线图中已经包含对 MapReduce 引擎的内置支持
--->用于对象及 JSON 数据的存储:MongoDB 的 BSON 数据格式非常适合文档化格式的存储及查询

MongoDB简介
        ---->Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。
        ---->Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。

MogoDB的数据结构

MogoDB的数据类型

Mongodb基本数据类型

 

Mongodb数组

 

Mongodb数据嵌套

Mongodb的objectid

Mongodb的修改器

Mongodb的其他

Mongodb认识find

Mongodb查询条件操作符


Mongdb的正则表达式应用

 

时间: 2024-08-07 01:50:33

学习Mongodb(一)的相关文章

ado-请问一下如果学习mongodb等NOSQL数据库还需要学习LINQ或者ADO吗????

问题描述 请问一下如果学习mongodb等NOSQL数据库还需要学习LINQ或者ADO吗???? 会C#最近想学习数据库.不过SQL太麻烦了.如果学习NOSQL的数据库还需要学习LINQ或者ADO吗?我搞不清他们之间的关系...+_+ 解决方案 首先看你的定位.作为专业开发者,应该本身不会对任何技术感到"麻烦".因为你从事实际的开发,面临的业务要比纯粹的技术麻烦许多,如果学习技术都麻烦,基本上你是不称职的. 其次,技多不压身.各种技术有各种技术应用的场合,单单就完成一个任务来说,可能并

请问一下如果学习mongodb等NOSQL数据库还需要学习LINQ或者ADO吗????

问题描述 会C#最近想学习数据库.不过SQL太麻烦了.如果学习NOSQL的数据库还需要学习LINQ或者ADO吗?我搞不清他们之间的关系...+_+万分感谢啊! 解决方案 解决方案二:是否"够用"是个主观的词,没有一定的标准.没有工具可以解决所有问题,也没有问题需要所有工具.具体需要哪些工具,取决于你面对什么问题.解决方案三:mongoDB的话学习比较简单下载数据库然后配置下载C#的驱动再度一度几个小时就学个简简单单的可以玩玩增删改什么的0.0解决方案四:一般的公司用不到NOSQLSQL

MongoDB学习系列(3)--解决MongoDB Unexpected Shutdown问题

晚上准备继续学习 PHP+MongoDB,点击Run_MongoDB_Service.bat文件,这个文件是我写的bat文件,就是快速启动MongoDB.但是命令 行一闪而过,我很奇怪.昨天晚上写代码还是正常的,怎么今天用就不正常了.我只好手动敲一遍命令.界面好像和之前不一样,个人觉得应该是出错了.错误界面 如下: 主要信息有2个: 1.Unclean shutdown detected. 2.可以恢复的参考:http://docs.mongodb.org/manual/tutorial/rec

MongoDB学习系列(2)--使用PHP访问MongoDB

第一部分:介绍 在Windows上安装最新 MongoDB步骤非常的简单,这里不做介绍.但是如果你安装的时候没有将MongoDB作为服务运行,每次你都要使用cmd切换到指定的目录下,然后在 cmd中启动MongoDB服务,然后再使用另外一个cmd运行Javascript Shell.所以我自己创建了2个.bat文件来简化这个操作. Run_MongoDB_Service.bat代码为: d: cd d:\mongodb\bin mongod --dbpath d:\mongodb\data Ru

CentOS上安装Node.js和mongodb笔记

  CentOS上安装Node.js和mongodb笔记        这篇文章主要介绍了CentOS上安装Node.js和mongodb笔记,本文讲解了Python安装.Node.js安装.npm安装.mongodb驱动安装.mongodb数据库操作测试代码等内容,需要的朋友可以参考下 之前听说过Node.js,只是知道它可以应用于服务器端,但是对很多具体的东西并不了解.今天在QCon上听了袁锋的分享<Node.js脱离了浏览器的Javascript>之后,顿时有了想立刻试一下的冲动. No

MongoDB使用教程系列文章--开篇

根据DB-Engines的排名统计,MongoDB综合排名第四(2016年1月数据,前三名分别是Oracle,MySQL,SQL Server),NoSQL领域(非RDBMS)里排名第一.尤其是在2015年里,一口气发布了两个大版本,3月发布了3.0版本,11月发布3.2版本. 在3.2版本中开始突破NoSQL的枷锁,提供了Join操作,可见其并不满足于NoSQL"独角兽"的称呼,目标早已定位成NewSQL,向RDBMS发起挑战. 但MongoDB毕竟不是RDBMS,甚至在数据建模上有

【Mongodb】 replica set 两种添加节点方法的日志分析

    这篇文章算是<replica set 添加和删除节点>的点缀,本来没打算查看添加节点的第二种方法,即拷贝其他节点的数据文件到新的节点,本着"入微"的原则,对两种方法做一下对比,具体添加节点的过程和前面介绍的一样,只是在启动mongod服务之前要拷贝数据文件到本机. 下面是空库添加到一个replica set中的日志记录: ####连接primary库 Tue Nov  1 14:22:57 [initandlisten] connection accepted fr

为什么MongoDB敢说“做以前你从未能做的事”

小编注:在MongoDB的网站上,它这样自我介绍:做以前你从未能做的事(Do What You Could Never Do Before).为什么MongoDB敢这样说?它有什么长处与不足?今天我们给大家抛砖引玉. 一. MongoDB是什么? "需求是创新之母." 虽然这是句老话,但现在依然很受用! 过去的十年,我们将数据生成.存储和分析的临界点推上一个全新的高度.这个大跃进是我们向数字化的数据驱动的经济又近了一步:这个大跃进也创造了它自身的需要.而这些问题及其解决方法通常都在大数

论:MongoDB的好坏丑

对刚刚接触 MongoDB 的人来说, MongoDB就是一个NoSQL类型的文档数据库. 文档中包含的键值对,构成了MongoDB的数据基本单位. 不过可以肯定的是MongoDB的确是当前最流行的NoSQL数据库. 它已被广泛接受并且适合各种各样的场合 (尽管不是所有项目都使用它). 这篇文章中,我将根据过去几年来我使用MongoDB所得出的经验,简短的介绍下MongoDB的好处.坏处和它丑陋的地方. 好处 自 MongoDB 流行以来,它的好处应该多于坏处和丑陋的地方. 如若不是,开发者们也