Если я создам новую коллекцию с моделью, показанной ниже, у индекса не будет ключа expireAfterSeconds. Я пытался использовать expireAfterSeconds вместо expires в модели, но я получаю те же результаты. Индекс содержит только ключ expireAfterSeconds, если я определю период времени меньше 7 дней в модели. Я, конечно, бросил всю коллекцию перед моими различными попытками. Однако, если я выполню db.integrationcounts.ensureIndex({ createdAt: 1 }, { expireAfterSeconds: 6048000 })
, индекс будет выглядеть как положено. У меня та же проблема, если я пытаюсь установить ключ с истекшим сроком действия, который в других коллекциях превышает 7 дней. Как это можно исправить?
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const IntegrationCountSchema = new Schema({
integration: {
type: Schema.Types.ObjectId,
ref: 'integration'
}
}, { timestamps: true });
// Everything smaller than 7 days works
IntegrationCountSchema.index({ createdAt: 1 }, { expires: '7d' });
const modelClass = mongoose.model('integrationCount', IntegrationCountSchema);
module.exports = modelClass;