public function KeyValueStoreExpirable::ensureIndexes in MongoDB 8.2
Ensure a TTL index for server-side expirations.
2 calls to KeyValueStoreExpirable::ensureIndexes()
- KeyValueStoreExpirable::deleteAll in modules/
mongodb_storage/ src/ KeyValueStoreExpirable.php - Deletes all items from the key/value store.
- KeyValueStoreExpirable::__construct in modules/
mongodb_storage/ src/ KeyValueStoreExpirable.php
File
- modules/
mongodb_storage/ src/ KeyValueStoreExpirable.php, line 44
Class
- KeyValueStoreExpirable
- KeyValueStore provides a KeyValueStoreExpirable as a MongoDB collection.
Namespace
Drupal\mongodb_storageCode
public function ensureIndexes() {
$name = $this->mongoDbCollection
->getCollectionName();
$indexMissing = TRUE;
foreach ($this->mongoDbCollection
->listIndexes() as $index) {
if ($index
->isTtl()) {
$indexMissing = FALSE;
break;
}
}
if ($indexMissing) {
$indexes = [
[
'expireAfterSeconds' => 0,
'key' => [
'expire' => 1,
],
'name' => "ttl_" . $name,
],
];
$this->mongoDbCollection
->createIndexes($indexes);
}
}