1

私はpymongoでpythonを使用しています。

さまざまな国からのさまざまなメッセージを保存する mongo コレクションの 1 つ。すべてのドキュメントには、国を示す国ショート コードが 1 つあります。それらをグループ化し、すべての国コードの数を取得する方法を教えてください。

例えば

{u'tweet': u"If you're male and own an iPhone, get new star soccer. Holy shit it's addictive", u'loc': u"US", u'_id': ObjectId('515ecace4e18187ca67ddfcb'), u'time': datetime.datetime(2013, 4, 5, 12, 59, 57)}

上記は、場所を含むメッセージの 1 行です。私のデータベースには、US、SG、AU などがあります。場所によって、メッセージの数が異なります。どのようにクエリを実行できますか、それは可能なアプローチですか? ありがとう

アップデート

カウントを取得したい理由は、Google チャートの次のコードにデータを挿入してチャートを生成する必要があるためです。

var data = google.visualization.arrayToDataTable([
      ['Country', 'Popularity'],
      ['Germany', 200],
      ['United States', 300],
      ['Brazil', 400],
      ['Canada', 500],
      ['France', 600],
      ['RU', 700]
    ]);
4

2 に答える 2

2

集計フレームワークを使用します。

db.collection.aggregate({$group:{_id:"$loc", count: {$sum:1}}}

これにより、国ごとに言及された回数が返されます。

于 2013-04-05T15:47:42.417 に答える