getAll

suspend fun <T : Model> getAll(collection: MongoCollection<T>, serializer: KSerializer<T>, cacheKey: String = collection.cacheKey(), getData: suspend MongoCollection<T>.() -> List<T>): List<T>

Get the items from the list if they exist else perform the real query update the cache and return the results