蒙古炼金术索引中的设置 TTL



我可以以某种方式为MongoAlchemy中的集合索引指定expireAfterSeconds,或者我需要像这样进行黑客攻击:

class TtlIndex(Index):
def expires(self, seconds):
self.expireAfterSeconds = seconds
def ensure(self, collection):
extras = {}
if self.__min is not None:
extras['min'] = self.__min
if self.__max is not None:
extras['max'] = self.__max
if self.__bucket_size is not None:
extras['bucket_size'] = self.__bucket_size
if self.expireAfterSeconds:
extras['expireAfterSeconds'] = self.expireAfterSeconds
collection.ensure_index(self.components, unique=self.__unique,
drop_dups=self.__drop_dups, **extras)
return self

MongoAlchemy 0.13 没有提供使用过期时间进行索引的可能性。我们需要直接使用 PyMongo 来做到这一点。

最新更新