1

我有 2 个集合,文章,作者。一篇文章可以有 0 到 N 个作者。一篇文章可以是许多 article_types 之一( article_type 是一个 String )。

文章 ... 字段 :article_type :type => String ... 拥有并属于许多 :authors ...

作者字段 :author_name :type => String ....

使用 Mongoid 获取特定文章类型的每个作者所属的文章数量的最佳方法是什么。例如,输出应该是一个哈希:

“约翰史密斯”:2 “玛丽琼斯”:10 “汤姆佩蒂”:22

谢谢!

4

2 回答 2

1

您可能需要使用 map reduce http://mongoid.org/en/mongoid/docs/querying.html#map_reduce

于 2013-06-13T20:35:28.783 回答
1

推荐使用聚合框架,因为它可以比 map/reduce 快 5-10 倍。MongoDB 文档位于http://docs.mongodb.org/manual/core/aggregation/但要从 Mongoid 访问它,您必须使用 Article.collection.aggregate 或 Author.collection.aggregate 进入 Moped 级别。使用 Mongoid引用聚合

于 2013-07-09T03:23:09.643 回答