关于 mongodb 做统计,求大神提示解决思路

2015-10-15 23:43:48 +08:00
 Mardo

今天第一次接触 mongodb ,拿到一个统计任务,不太有思路。

数据格式是这样的{
id:123,
dId:456,
time:1234567,
}

{
id:123,
dId:789,
time:7654321,
}

其中 id 是用户 id , dId 是文章 Id ,一个表要 10g 左右,现在要统计所有关系对,
生成如下格式{
id:123,
{文章 Id1:时间,文章 Id2:时间}
}表
用 python 全部读出来一个一个统计肯定可以,但我觉得应该可以用 mongodb 内置的查询语句就可以做到,求各位大神给思路。

在此跪谢

4720 次点击
所在节点    MongoDB
9 条回复
lujiajing1126
2015-10-15 23:48:03 +08:00
mongodb 自带 mapreduce 。。。
tinyproxy
2015-10-16 00:41:15 +08:00
楼上正解, mapReduce
shiny
2015-10-16 00:56:04 +08:00
然后你会发现用 MongoDB 做点复杂点的 mapReduce 很痛苦,性能往往不及传统 SQL 数据库。
a358003542
2015-10-16 01:08:31 +08:00
mongodb 就给初学者玩玩,真实战 redis 和 SQL 够用了。你说表格 schema 不定,如果一个数据库你的 schema 都没确定那不是数据库的问题,而是你的程序表格根本就没有设计好。
bigfei
2015-10-16 01:33:39 +08:00
ivyshark
2015-10-16 10:00:22 +08:00
学生管理系统 mongo 就很合适 稍微复杂一点还是不要用 mongo 了
Mardo
2015-10-16 12:28:17 +08:00
多谢楼上各位,我好好看看怎么搞
Mardo
2015-10-16 12:29:41 +08:00
@bigfei
好像在公司,这个链接打不开~~
bigfei
2015-10-16 15:05:10 +08:00
db.getCollection('test').aggregate(
{ $group:
{ _id: "$id",
articles: { $push: {dId:"$dId", time:"$time"} }
}
}
)
gist.github.com 被 GFWed 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/228411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX