首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

Mongo 统计记录子节点的数据 有办法吗

  •  
  •   nightstart · 360 天前 · 496 次点击
    这是一个创建于 360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有如下的这么一个数据结构,这是 mongo 一张表里的一条记录. 每条记录下面有一些特定的 key 每个 key 对应的是一个 dict. 想像 mongo 大佬请教一下 假设我每条记录的 key 都是一样的,都是 task_uuid、UNION、SUBQUERY_REP、DML_SORT

    1. 怎么统计他们的 value 里面的记录条数 -> 引申出来 怎么统计 value 的记录的 value 的条数
    2. 拿数据的时候针对于 value 的字典(infomation) 怎么才能指定拿出来的字段
    3. 假设每条记录的 key 是不一样的 也就是会动态变化 不止是上面的 task_uuid、UNION、SUBQUERY_REP、DML_SORT 这四个 key 又该怎么做呢

    抱拳(请各位 mongo 大佬指教

    {
        "_id" : ObjectId("1321321321421"),
        "UNION" : {
            "infomation" : {
                "sql_id" : "321321432",
                "sql_text" : "select count(*) count1 from",
                "obj_name" : null,
                "plan" : []
            },
            "infomation" : {
                "sql_id" : "43zcf95vbk32143vjx",
                "sql_text" : "from appuser1.objectname1  union\nselect count(*) count19 from appuser1.objectname1 ",
                "obj_name" : null,
                "plan" : []
            },
            "scores" : 4.0
        },
        "SUBQUERY_REP" : {},
        "DML_SORT" : {},
        "task_uuid" : "09ae20b4-64e8-11e8-b712-f45c832138f3b",
    }
    
    4 回复  |  直到 2018-06-01 11:07:11 +08:00
        1
    xkeyideal   360 天前
    mongo 也有 group 语句的,那么 map 的指定信息,不是 bson.M{"UNION.information":"xxx"},

    卧槽,你这样例数据有问题吧,map 怎么能有两个同样的 key
        2
    duz   360 天前 via iPhone
    @xkeyideal 我以前遇到过一次,同样的 key,每次修改的是 Key(A)读出来的是 Key(B)
        3
    nightstart   360 天前
    @xkeyideal 抱歉抱歉我的锅 2 我修改了一些信息 没想到两个都写了 information
        4
    xkeyideal   360 天前
    {
    "_id" : ObjectId("1321321321421"),
    "UNION" : {
    "321321432" : {
    "sql_id" : "321321432",
    "sql_text" : "select count(*) count1 from",
    "obj_name" : null,
    "plan" : []
    },
    "43zcf95vbk32143vjx" : {
    "sql_id" : "43zcf95vbk32143vjx",
    "sql_text" : "from appuser1.objectname1 union\nselect count(*) count19 from appuser1.objectname1 ",
    "obj_name" : null,
    "plan" : []
    },
    "scores" : 4.0
    },
    "SUBQUERY_REP" : {},
    "DML_SORT" : {},
    "task_uuid" : "09ae20b4-64e8-11e8-b712-f45c832138f3b",
    }
    把存储结构改成这样
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3821 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 07:35 · PVG 15:35 · LAX 00:35 · JFK 03:35
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1