如何设置数据过期时间使用pymongo

时间:2019-01-21 10:38:15

标签: python mongodb pymongo

如何使用pymongo设置数据过期时间?我需要设置一些重要文档的到期时间,因此我可能使用db.collection.create_index([('expireAt', 1)], expireAfterSeconds=0)。这意味着我应该将expireAt的值设置为与文档到期时间相对应。而且我更喜欢将mongodb服务器的时间用于本地机器时间(用户可以更改其机器时间)。

如何使用pymongo进行

newDate (new Date(now.getTime()+60000))

像mongoDB

1 个答案:

答案 0 :(得分:0)

您可以要求Mongo删除过期的文档有两种机制:

  • 在指定的秒数后过期文档
  • 在特定的时钟时间过期文档

在您的问题中,您似乎想使用“在特定的时钟时间过期文档”,但是,您试图给出current_time + x_seconds。如果这是您想要的,则应使用“在指定的秒数后过期文档”机制。

在指定的时钟时间过期文档的示例:

db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )
db.log_events.insert( {
   "expireAt": new Date('July 22, 2013 14:00:00'),
   "logEvent": 2,
   "logMessage": "Success!"
} )

在指定的秒数后过期的文档示例

db.log_events.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 3600 } )
db.log_events.insert( {
   "createdAt": new Date(),
   "logEvent": 2,
   "logMessage": "Success!"
} )

更多信息,请访问: https://docs.mongodb.com/manual/tutorial/expire-data/