NoSQL数据库一改关系型数据库的缺点,更容易的集成、分布式、无模式、故障恢复等特点,正在一步步餐食关系型数据库的市场,作为一个与时俱进的码农了解一下新技术是必须的,尤其是在读了《NoSql精粹》之后,更是想体验一下NoSql数据库的威力。
  MongoDB是一种文档数据库,也是说对于领域模型中的每一个聚合来讲,都会作为一个文档来存储。
  MongoDB有如下优点:
  面向文档存储、全索引支持、同步机制和高访问性、自动分片、查询、灵活的聚集和数据处理、映射化简、文件存储。
  第一步:安装
  从版本2.2开始,mongoDB不支持XP操作系统了,蛋疼,现在我在用XP,看来只能用2.2之前的版本了,
  可用的版本只有一个2.0.9,我已经共享到百度网盘了,下载地址:http://pan.baidu.com/s/1i3GEs1v,如果下载地址失效了,请去官网下载。
  第二步:设置数据库环境并启动数据库
  将压缩版解压之后放到任意一个硬盘上,比如我放到了E:mongodb-win32-i386-2.0.9
  先创建一个存放文档文件的文件夹,E:mongodb-win32-i386-2.0.9data此文件夹是用来存放数据文档的
  创建完成之后,将此文件夹配置到mongoDB,让mongoDB将数据存放到此文件夹。
  配置并启动数据库:
  运行命令行:E:mongodb-win32-i386-2.0.9inmongod.exe --dbpath E:mongodb-win32-i386-2.0.9data
  (如果没有指定,mongoDB启动时默认在路径C:data下存放数据文档)
  第三步:
  数据库启动之后,我们可以连接数据库进行访问并存储数据了
  另起一个命令窗口并运行:E:mongodb-win32-i386-2.0.9inmongo.exe --dbpath E:mongodb-win32-i386-2.0.9data
  后面的参数是要连接到的数据目录
  默认情况下mongoDB会选中一个名叫test的数据库,如果不知道当前所处的数据库,可以运行db命令来查看
  查看所有的数据库:
  show dbs
  切换数据库:
  use mydb
  如果此时切换的数据库不存在,没关系,只要不向该数据库存放数据,mongoDB是不会在硬盘上创建该数据库的。
  是该存放数据的时候了,先说一下mongoDB中的一些概念。
  mongoDB中有db、collection、document,db对应关系数据库中的数据库,而collection则对应了关系型数据库中的表,而document对应了关系型数据库表中的一行数据。mongoDB中的文档像一个json文件一样,我们可以将一个javascript中的对象字面量创建为一个document,如通过如下方式定义了两个对象变量:
  j = { name : "mongo" }
  k = { x : 3 }
  将j和k这两个文档存入名为“testData”的collection中
  1
  2
  db.testData.insert( j )
  db.testData.insert( k )
  前面已经说过了,db为当前所处的数据库对象,而testData是一个collection,此时还没有对应的collection,当insert执行完毕之后,创建了collection对象
  我们可以通过
  show collections
  命令来查看当前数据库中所有的collection
  此时会返回testData和 system.indexes, system.indexes是mongoDB自己提供的collection,不用管它
  我们可以通过如下语句查询testData中的所有的数据
  db.testData.find()