私のデータベースのサンプル:
{
"_id": {
"$oid": "50c97f4f6e46e4b31634934"
},
"index": "6633333",
"uniq_name": "com.test.fix",
"ad": "com.ad",
"ad_delay_time": "43200000",
"track_time": {
"$date": "2012-12-13T07:10:06.056Z"
}
}
私のデータベースは数百万で、このデータに対してクエリを実行したとき:
db.track.aggregate( [
{ $match: { track_time: { $gte: ISODate("2012-12-18T00:00:00.000Z") }}},
{ $group: { _id: { ads: "$ad" },
count: { $sum: 1} } }
])
別の広告の名前は表示されませんが、実際には広告にない桁数のカウントが表示されますが、これは ad_delay_time です。ad_delay_time のすべての値が次のように表示されます
"result" : [
{
"_id" : {
"ads" : "43200000"
},
"count" : 2187735
}
],
"ok" : 1
なぜこのようにクエリを実行するのかわかりません。また、1 日のデータをクエリする必要があるため、$gteまたは直接言及された日付スタンプを使用する必要があります。このクエリで私を助けてください