【问题标题】:Mongodb aggregation framework to count distinct array itemsMongodb聚合框架来计算不同的数组项
【发布时间】:2013-08-02 01:00:01
【问题描述】:

我有一些文档,例如:

{ tags: { first_cat: ["a", "b", "c"], second_cat : ["1","2","3"]}}
{ tags: { first_cat: ["d", "b", "a"], second_cat : ["1"]}}

我需要这样的东西:

{ first_cat: [{"a" : 2}, {"b" : 2}, {"c" : 1}, {"d" : 1}], second_cat: [{"1" : 2, "2": 1, "3":1}] }

使用 m/r 很容易做到(但速度很慢),是否有可能通过聚合框架获得类似的结果?

【问题讨论】:

  • 可能;试一试并展示您所做的事情,因为您似乎没有对此进行过多研究。您需要查看$unwind$group 管道运算符。

标签: mongodb aggregation-framework


【解决方案1】:

您无法使用聚合框架执行此操作,因为无法将任意值 "a" 转换为键 { "a": 2 }。您需要重新设计架构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 2016-12-21
    • 2015-11-19
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多