V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
Mardo
V2EX  ›  MongoDB

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

  •  
  •   Mardo · Oct 15, 2015 · 5717 views
    This topic created in 3858 days ago, the information mentioned may be changed or developed.

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

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

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

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

    在此跪谢

    9 replies    2015-10-16 15:05:10 +08:00
    lujiajing1126
        1
    lujiajing1126  
       Oct 15, 2015
    mongodb 自带 mapreduce 。。。
    tinyproxy
        2
    tinyproxy  
       Oct 16, 2015 via iPad
    楼上正解, mapReduce
    shiny
        3
    shiny  
    PRO
       Oct 16, 2015
    然后你会发现用 MongoDB 做点复杂点的 mapReduce 很痛苦,性能往往不及传统 SQL 数据库。
    a358003542
        4
    a358003542  
       Oct 16, 2015
    mongodb 就给初学者玩玩,真实战 redis 和 SQL 够用了。你说表格 schema 不定,如果一个数据库你的 schema 都没确定那不是数据库的问题,而是你的程序表格根本就没有设计好。
    ivyshark
        6
    ivyshark  
       Oct 16, 2015
    学生管理系统 mongo 就很合适 稍微复杂一点还是不要用 mongo 了
    Mardo
        7
    Mardo  
    OP
       Oct 16, 2015
    多谢楼上各位,我好好看看怎么搞
    Mardo
        8
    Mardo  
    OP
       Oct 16, 2015
    @bigfei
    好像在公司,这个链接打不开~~
    bigfei
        9
    bigfei  
       Oct 16, 2015
    db.getCollection('test').aggregate(
    { $group:
    { _id: "$id",
    articles: { $push: {dId:"$dId", time:"$time"} }
    }
    }
    )
    gist.github.com 被 GFWed 的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1290 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 23:52 · PVG 07:52 · LAX 16:52 · JFK 19:52
    ♥ Do have faith in what you're doing.