【发布时间】:2016-02-19 23:13:13
【问题描述】:
您好,我是 mongodb 新手,由于我们收集了大量数据,我不知道如何有效地实现以下目标
我想删除那些超过 6 个月的文件 但同时我想为每个 al_object_id 保留最新的 5 条记录,即使有超过 6 个月的记录。
+--------+---------------------+--------------+
| al_id | al_date | al_object_id |
+--------+---------------------+--------------+
| 224917 | 2012-01-01 00:00:00 | 1 |
| 224918 | 2012-01-02 00:00:00 | 1 |
| 224919 | 2012-01-03 00:00:00 | 1 |
| 224920 | 2012-01-04 00:00:00 | 1 |
| 224921 | 2012-01-05 00:00:00 | 1 |
| 224922 | 2012-01-06 00:00:00 | 1 |
| 224923 | 2012-01-07 00:00:00 | 1 |
| 224925 | 2016-01-01 00:00:00 | 222 |
| 224926 | 2016-01-02 00:00:00 | 222 |
| 224927 | 2016-01-03 00:00:00 | 222 |
| 224928 | 2016-01-04 00:00:00 | 222 |
| 224929 | 2016-01-05 00:00:00 | 222 |
| 224930 | 2016-01-06 00:00:00 | 222 |
| 224931 | 2016-01-07 00:00:00 | 222 |
| 224932 | 2016-01-08 00:00:00 | 222 |
| 224933 | 2016-01-09 00:00:00 | 222 |
| 224934 | 2016-01-10 00:00:00 | 222 |
| 224935 | 2012-01-11 00:00:00 | 222 |
| 224936 | 2012-01-12 00:00:00 | 222 |
| 224937 | 2012-01-13 00:00:00 | 222 |
| 224938 | 2012-01-14 00:00:00 | 222 |
| 224939 | 2012-01-15 00:00:00 | 222 |
| 224940 | 2012-01-16 00:00:00 | 222 |
+--------+---------------------+--------------+
如果对象 al_object_id = 1 的记录在过去 6 个月内没有新更新,所以我想保留最新的 5 个更新并删除其他更新 至于 al_object_id = 222,过去 6 个月有更新,所以我想删除超过 6 个月的记录。所以预期的输出如下
+--------+---------------------+--------------+
| al_id | al_date | al_object_id |
+--------+---------------------+--------------+
| 224923 | 2012-01-07 00:00:00 | 1 |
| 224922 | 2012-01-06 00:00:00 | 1 |
| 224921 | 2012-01-05 00:00:00 | 1 |
| 224920 | 2012-01-04 00:00:00 | 1 |
| 224919 | 2012-01-03 00:00:00 | 1 |
| 224934 | 2016-01-10 00:00:00 | 222 |
| 224933 | 2016-01-09 00:00:00 | 222 |
| 224932 | 2016-01-08 00:00:00 | 222 |
| 224931 | 2016-01-07 00:00:00 | 222 |
| 224930 | 2016-01-06 00:00:00 | 222 |
| 224929 | 2016-01-05 00:00:00 | 222 |
| 224928 | 2016-01-04 00:00:00 | 222 |
| 224927 | 2016-01-03 00:00:00 | 222 |
| 224926 | 2016-01-02 00:00:00 | 222 |
| 224925 | 2016-01-01 00:00:00 | 222 |
+--------+---------------------+--------------+
【问题讨论】:
标签: mongodb