如何收集所有标签并在Meteor中计算这些标签

Joh*_*nes 4 mongodb meteor

我在流星中需要这个map/reduce函数:http: //cookbook.mongodb.org/patterns/count_tags/

读取所有条目中的所有标记,并返回包含集合中金额的唯一标记列表

我该如何实现呢?我正在使用独立的Mongodb.集合布局:

[_id] => 1234
[headline] => My First Post
[body] => Alot of stuff
[isPrivat] => 
[tags] => Array (
    [0] => test
    [1] => php
    [2] => perl
)
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题/答案,但是我无法做到这一点我做的事情:
Meteor对集合有独特的查询吗?

这是最优雅的方式.感谢您的时间

And*_*ich 8

目前,最优雅的解决方案是聚合框架:

db.items.aggregate(
    { $unwind : "$tags" },
    { $group : {
        _id : "$tags",
        count: { $sum : 1 }
    }}
);
Run Code Online (Sandbox Code Playgroud)

它将输出如下结果:

{ "result" : [ 
    { "_id" : "perl",
      "count" : 2 }, 
    { "_id" : "php",
      "count" : 1 }, 
    { "_id" : "test",
      "count" : 1 }],
  "ok" : 1 }
Run Code Online (Sandbox Code Playgroud)

这是mongodb shell语法.我不熟悉meteor,所以我不会尝试编写一些代码.希望这可以帮助!

  • 不幸的是,minimongo驱动程序存在一些限制.不支持findAndModify,upsert,聚合函数和map/reduce.否则那会非常优雅. (4认同)