0

{ "_id" : ObjectId("4f956dee76ddb26752026e8f"), "page" : "home", "visited" : ISOdate(23/02/2013) }, { "_id" : ObjectId("4f956dee76ddb26752026e8f"), "page" : "home", "visited" : ISOdate(24/02/2013) }, { "_id" : ObjectId("4f956dee76ddb26752026e8f"), "page" : "home", "visited" : ISOdate(24/02/2013) } , { "_id" : ObjectId("4f956dee76ddb26752026e8f"), "page" : "home", "visited" : ISOdate(25/02/2013) } nodejsを使用してmongodbのカウントとともにその日を取得したいmongodbに以下のようなドキュメントがあります 。返される必要があります: . day: 23/02/2013, count:1 , day: 24/02/2013, count:2 ,day: 25/02/2013, count:1結果は日でソートされる必要があるため、23 番目が最初、24 番目が 2 番目、25 番目が 3 番目になります。100万前後のエントリーが多いです。

4

2 に答える 2

0

まず、ObjectId が重複しているため、データが正しくありません。

最後に、次のような集計を使用してクエリを作成できるはずです (mongodb 2.2 + を使用していると仮定します)。

db.mytable.aggregate([ {$group : {_id:"$visited", total:{$sum:1}}}, {$sort:{visited:-1}}])
于 2013-03-25T11:20:30.363 に答える