我是 MongoDB 的新手,我每天都在尝试从集合中删除一些条目。我必须每天都这样做,因为收藏量很大,并且按月删除。这是我的示例代码:
days = ['2018-04-01-day','2018-04-02-day','2018-04-03-day','2018-04-04-day','2018-04-05-day','2018-04-06-day','2018-04-07-day','2018-04-08-day','2018-04-09-day','2018-04-10-day','2018-04-11-day','2018-04-12-day','2018-04-13-day','2018-04-14-day','2018-04-15-day','2018-04-16-day','2018-04-17-day','2018-04-18-day','2018-04-19-day','2018-04-20-day','2018-04-21-day','2018-04-22-day','2018-04-23-day','2018-04-24-day','2018-04-25-day','2018-04-26-day','2018-04-27-day','2018-04-28-day','2018-04-29-day','2018-04-30-day']
var day;
for(day of days)
{
print(day)
db.<colln>.remove
(
{ 'time_bucket': day },
{ 'URL':/https:\/\/abc.com/}
)
}
上面的代码执行,但只给了我以下内容:
2018-04-06-day
WriteResult({ "nRemoved" : 0 })
我本来希望至少能看到所有打印的日期,但即使这样也没有发生。
我尝试了使用 UTC 日期方法的其他方法,但它们似乎效果不佳。
我能够使以下代码适用于较小的集合:
db.<small colln>.remove(
{ 'time_bucket': '2018-04-month' },
{ 'URL':/https:\/\/abc.com/}
)
但是上面的代码(按月删除)不适用于更大的集合,这就是为什么我被迫每天都这样做,通过创建一个数组来持续多天。我知道这不是最有效的方法,但我只需要让它工作。
任何帮助将非常感激。