n 天后删除 MongoDB 文档
Delete MongoDB document after n days in go
我想在 3 天后删除未验证电子邮件的用户帐户。由于调度程序效率低下,我正在寻找一种在 MongoDB 中安排此删除的方法。如果用户验证电子邮件,我还需要一种取消它的方法。
我在 MongoDB 中使用 mgo 作为 api 并且我是 运行 最新的 Go (1.9)。
这可以在 MongoDB 版本 3.4
中实现
您可以使用 mongodb 的 TTL index along with partial index expression。
尝试在 users
集合上添加以下索引:
db.users.ensureIndex(
{ created_at:1},
{ expireAfterSeconds:259200,
partialFilterExpression:{"verified" : false}})
此 TTL 索引删除了所有未验证的用户,并且已添加 3 天。
我想在 3 天后删除未验证电子邮件的用户帐户。由于调度程序效率低下,我正在寻找一种在 MongoDB 中安排此删除的方法。如果用户验证电子邮件,我还需要一种取消它的方法。
我在 MongoDB 中使用 mgo 作为 api 并且我是 运行 最新的 Go (1.9)。
这可以在 MongoDB 版本 3.4
中实现您可以使用 mongodb 的 TTL index along with partial index expression。
尝试在 users
集合上添加以下索引:
db.users.ensureIndex(
{ created_at:1},
{ expireAfterSeconds:259200,
partialFilterExpression:{"verified" : false}})
此 TTL 索引删除了所有未验证的用户,并且已添加 3 天。