目前我有一个这样的mysql表:
+---------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| mediaID | int(11) | NO | | NULL | |
| date | datetime | NO | | NULL | |
+---------+----------+------+-----+---------+----------------+
在这张表中,我存储了为特定媒体制作的每个点击。我保存了媒体 ID 和此点击发生的日期。所以......当我想显示趋势媒体(特定时间段内观看次数最多的媒体)时,我使用这个 mysql 查询:
SELECT mediaID, COUNT(*) as cnt FROM hits WHERE DATE(date) = CURDATE() - INTERVAL 1 DAY GROUP BY mediaID ORDER BY cnt DESC LIMIT 0,10
现在.. 我打算在 MongoDB 中移动它。目前,我收集了以下文件的“命中”:
{
_id: ObjectId("50827eaaae1c3ced6c00000f"),
mediaID: "2",
ts: ISODate("2012-10-20T13:36:26+03:00")
}
{
_id: ObjectId("50827ebeae1c3ced6c000010"),
mediaID: "1",
ts: ISODate("2012-10-20T13:36:46+03:00")
}
{
_id: ObjectId("50827ec3ae1c3c6167000008"),
mediaID: "2",
ts: ISODate("2012-10-20T13:36:51+03:00")
}
所以,我的问题是如何将我以前的查询转换为能够使用 MongoDB?PS 我正在使用 php 和 php mongodb 驱动程序。
问候,米伦