0

次のデータがあるとします。

{_id: 1, tags: ['foo', 'bar']}
{_id: 2, tags: ['bar',]}
{_id: 3, tags: ['foo',]}
{_id: 4, tags: ['bar', 'foo']}
{_id: 5, tags: ['foo']}

各タグが使用された回数を返すクエリが必要です。この場合、タグ「foo」は 4 回使用され、「bar」は 3 回使用されました。ここでは集計関数が役立つと思いますが、その方法はわかりません。例を教えてください!

ありがとう教祖!

4

1 に答える 1

0

理解した :)

db.test.aggregate({$unwind: "$tags"}, {$group: {_id: "$tags", total: { $sum: 1 }}});

誰かがより効率的な方法を知っていてもかまいません:)

于 2013-10-03T23:03:01.467 に答える