NoSQL专题

MongoDB专题与教程

  MongoDB是NoSQL的一种,严格来说是介于SQL和NoSQL之间的一种文档数据库, 保存的是JSON格式文档,能提供高性能 高可用性和自动扩展功能。

MongoDB数据格式如下:

MongoDB使用引用和嵌入式文档两种方式表达数据之间关系,引用是指一个文档保存指向另外一个文档的引用连接:

嵌入文档是将父子关系的所有数据保存在一个文档中:

 

MongoDB虽然是NOSQL,没有提供传统关系数据库的SQL语句,那么我们以前通常使用的数据库条件查询或合并计算或分组等如何使用呢?MongoDB聚合框架不但提供类似传统SQL的数据聚合操作,也能够提供大数据Map-reduce操作。

MongoDB的聚合框架原理如下图:使用$match类似SQL的where语句,查询所有文档字段status是"A"的文档,$group是将相同id为"A123"的元素合并,合并后的字段名是total,值是根据{ $sum: "$amount"  }来计算,{ $sum表示计算总和。

 

MongoDB安装和Java使用教程

MongoDB的优化锁

MongoDB + Morphia使用

在Node.js + MongoDB中实现聚合查询的案例源码

在MongoDB中使用Map/Reduce

参考

MongoDB专题