Если у вас там не вообще любой тип может приехать, а конкретный список, то лучше не через рефлексию проверять, а тайп свитч использовать https://go.dev/tour/methods/16
Вот я не могу увидеть указатель или сам новый массив.
Новый массив аллоцируется в памяти неявно, вы не увидите на него указатель. Следить за baseArr бесполезно, потому что новый массив аллоцируется совсем в другом месте.
Во-первых, из чего у вас состоят айдишки и стоит ли их хранить в стрингах? Это просто довольно расточительно по памяти.
Во-вторых, не использовать внешние базы данных это дичь. Вы соберете все грабли, на которые создатели баз данных наступали на протяжении многих лет разработки.
В-третьих, если реально другого выбора нет, используйте btree, оно хорошо ложится на файловую систему и само балансируется при добавлении записей. Только вам полюбому его нужно шардировать по какому-то признаку, потому что 5Тб записей одним куском это не дело.
Дайте хотя бы какой-нибудь контекст, что за сервис используете? Или это СУБД какая-то? Или гошная библиотека?
В тегах указано только go и вообще не ясно, что за FindOne и CountDocuments
Проверку прав доступа нужно делать на уровне сервера. Сам сервер может хоть под админом подключаться к базе, главное, чтобы он проверял, имеет ли пользователь право делать определенное действие перед его совершением.
Никто не делает динамическое переподключение с другой ролью.
Штатными средствами это не сделать, такое только парсер xml умеет.
Так что напишите функцию, которая перекладывает значения после парсинга в нужные места другой структуры.
У вас переменные и функции по несколько раз объявлены внутри одного пакета.
Почитайте, пожалуйста, самые основы о том, как в го организованы пакеты, функции, переменные.
Не до конца ясна задача. От свитча всё равно полностью не избавиться, потому что когда достаешь из базы данные, придется написать правило по созданию внутренних моделей этих данных и там будет свитч, это в любом языке.
А вот сами модели нужно просто строить так, чтобы они все удовлетворяли одному интерфейсу, который описывает все те операции, которые у этих всех задач едины. Тогда будет нужный вам полиморфизм.
Советую уменьшить количество полигонов у ваших моделей. Насколько вижу, это 3д-сканы и вы используете их без пост-обработки, судя по размеру.
Нужно в 3д-редакторе уменьшить количество полигонов и размер текстуры посмотреть, возможно стоит его тоже убавить.
luvisragee, да, но у вас тут фильтр только на js, а нужно глянуть все запросы. Скрипты грузятся довольно быстро, как видно из скриншота. Переключите на all
В первую очередь нужно глянуть в консоли разработчика вкладку network и посмотреть, какие запросы выполняются, какие объемы объектов.
Запостите сюда и глянем, что можно оптимизировать.