Mongodb Aggregation Framework总结

2.2版本新特性,比group, MapReduce简单强大,reference里有很多操作和[运算]可用
pipeline operators:
• $project (page 285)
• $match (page 281)
• $limit (page 280)
• $skip (page 287)
• $unwind (page 290)// 用于嵌套文档,可对数组拆解
• $group (page 278)
• $sort (page 287)
• $geoNear (page 276)

MongoDB常用命令和操作总结2

做个总结,涉及到mongodb的常用命令、java driver查询、spring data mongodb的使用,group,MapReduce,aggregation framework等

group

topic : reply = one to many,按topic(或发布者)分组统计回复数 shell:

1
2
> db.reply.group({ "key" : { "topic" : 1} , "$reduce" : "function(doc, prev) {
 prev.total += 1; }" , "initial" : {"total" : 0}})

MongoDB常用命令和操作总结1

做个总结,涉及到mongodb的常用命令、java driver查询、spring data mongodb的使用,group,map-reduce,aggregation framework等

关闭服务

1
2
use admin
db.shutdownServer()

加锁

1
2
use admin
db.runCommand({"fsync":1,"lock":1})

Mongodb数据模型设计总结

mongoDb的表设计(Schema design)不同于关系型数据库如oracle,mysql,但基本的设计原则依然一致,因为其灵活性,所以可以快速的改善现有设计以适应新的需求

设计需要权衡应用的需求,数据库各项性能指标,数据的获取模式;设计时一直要考虑应用如何使用数据如查询、更新、处理、索引、分片,还要考虑数据自身的内在结构

对照关系型数据库理解几个概念:
表:table vs collection
行:view/row(s) vs json document
索引:index vs index
关联:join vs embedding & linking across documents
分片:partition vs shard

Cygwin & Wine & Ruby 记录

cygwin是一个在windows平台上运行的unix模拟环境, wine则可以安装在Linux,再对应到Windows相应的函数来调用DLL以运行Windows程序。这两个就是利器,windows下不想用虚拟机(占用资源还挺多)或双系统,就可以用用cygwin;服务器上想搞点exe的东西就安装个wine。至于ruby,是因为octopress要用,开个虚拟机写博客很不爽,windows下折腾安装配置,却中文编码没解决,还是cygwin搞定。