【发布时间】:2017-12-06 11:16:01
【问题描述】:
我想按月从我的收藏中删除所有超过 1 个月的文档。集合中的示例文档如下所示:
{
_id: ObjectId("56e75f1ce851695805ead8ae"),
createDate: ISODate("2016-03-15T01:02:20.821Z"),
foo: "bar"
}
我希望自动安排这个任务发生,这样它就不需要人工输入——比如说,作为一个 cron 作业——所以我希望它的逻辑尽可能少。
如何查询 createDate 超过 1 个月的文档?我曾想过尝试这样的事情:
db.col.find({createDate: {$lt: ISODate(ISODate().getTime() - 1000*3600*24*30)}});
... 我创建了一个新的 ISODate,当前时间减去 1 个月的毫秒数,但这并没有返回任何数据。它也有点丑陋,即使它确实有效。我将如何实现这一目标?
【问题讨论】:
-
在这里您可以找到一些可行的解决方案stackoverflow.com/questions/19819870/…
-
我真的看不到我的问题的答案。我已经知道如何根据静态 ISODate 进行查询,但这不是我的问题。
标签: mongodb