CosmosDB - это реализация сервера, отличная от MongoDB, и некоторые функции и поведение отличаются.
В настоящее время Cosmos поддерживает индексы TTL только для поля Cosmos ' внутренней модификации времени _ts
:
_ts - поле Cosmos DB-speci c, которое недоступно для клиентов MongoDB. Это зарезервированное (системное) свойство, которое содержит метку времени последней модификации документа.
Поскольку connect-mongo
использует поле с именем expires
для значения ttl
, оно не будет работать с Cosmos по умолчанию.
Однако вы можете обойти это, используя режим совместимости *1020* , который использует менее эффективный подход на основе таймера в приложении Node вместо собственного TTL Индекс, поддерживаемый серверами MongoDB:
const store = new MongoStore({
mongooseConnection: mongoose.connection,
ttl:24 * 60 * 60 * 1000,
autoRemove: 'interval',
autoRemoveInterval: 10 // Value in minutes (default is 10)
})
Вы можете настроить интервал таймера с помощью опции autoRemoveInterval
, которая устанавливает частоту выполнения запроса для удаления просроченных документов.