k.ID))
идет неявное создание коллекция??? ответа в документации ненашел
Да, в go драйвере для MongoDB при вызове col := k.Db.Collection(fmt.Sprintf("profile_%d", k.ID)) происходит неявное создание коллекции, если она еще не существует. В документации нет явного упоминания этого поведения, но оно соответствует стандартной логике работы драйвера MongoDB. При обращении к коллекции, если она уже существует, то она будет открыта для чтения и записи. Если коллекция не существует, она будет автоматически создана при первой операции записи в нее. Если требуется явно создать коллекцию до выполнения операций с ней, можно использовать метод CreateCollection для объекта базы данных: k.Db.CreateCollection(fmt.Sprintf("profile_%d", k.ID))
Ответ от ChatGPT.
а как проверить,что она ужесть,без перебора у меня сотни тысяч коллекций
Если у вас есть сотни тысяч коллекций, и вы хотите проверить, есть ли в них определенная коллекция, без перебора всех элементов, вы можете воспользоваться одним из следующих подходов: 1. Используйте хэш-функцию: Создайте хэш-функцию, которая будет преобразовывать каждую коллекцию в уникальное число. Затем создайте хэш-таблицу, в которой ключами будут значения хэш-функции, а значениями - сами коллекции. При проверке существования коллекции вы сможете быстро найти нужный ключ в хэш-таблице и, если ключ найден, коллекция существует. 2. Используйте структуры данных с быстрым доступом: Используйте специализированные структуры данных, такие как деревья поиска или битовые векторы, которые позволяют быстро проверять наличие элементов. Имейте в виду, что предварительная обработка данных может потребоваться для построения этих структур, но затем проверка существования будет более эффективна. 3. Используйте индексирование: Если у вас есть критерии или метаданные, которые вы можете использовать для быстрой фильтрации коллекций, вы можете построить индексы или создать каталоги, чтобы быстро найти нужные коллекции без необходимости перебора всех коллекций. В зависимости от конкретной задачи и доступных данных, один из этих подходов может быть более эффективным.
Хотел как то помочь.
Если используете чатгпт не копируйте ответ как есть - читайте ответ, переваривайте и выдавайте то что является корректной частью, если оно там действительно есть. Не перекладывайте часть с оценкой адекватности ответа безумной нейронки людям которые обращаются за помощью и не в состоянии отсечь дичь.
Сам факт того что у вас сотни тысяч коллекций говорит что проблема с проектированием и на этом фоне потребность проверять перебором наличие коллекции вполне нормальная плата.
Ты предлагаешь мне миллионы документов в одну коллекцию скинуть?
Спасибо вам огромное, за старание, но пока chatgpt конечно дополняет наш мозг, но не заменяет его
Действительно у меня достаточно мало опыта общения с монгой. Не могли бы вы рассказать почему такое большое количество коллекций в одной базе это плохо
как правило коллекция выделяется под один тип документов. Очень мало случаев когда реально существует потребность в сотнях тысячах различных типах документов с различной структурой. Также на таких количествах очень сильно затрудняется менеджмент и мониторинг бд вцелом, т.к. нужно выдумывать средства автоматизации на каждый чих и руками мало что можно проверить. Такое допустимо разве что есть потребность делать например коллекцию на каждый новый день для разных источников, но даже так насобирать сотни тысяч это даже для 5 лет по одному дню - это сотня источников и любой поиск по этим данным будет сложен по сравнению со сливанием в большие коллекции
расскажите почему у вас так много коллекций? по какому признаку они разделены? ну и тут назревает важный вопрос не путаете ли вы коллекции с документами в коллекции?
источников сотни тысяч из разных регионов, данных очень много, один "кадр" из источника, это документ, с динамическим набором полей. Таких "кадров" от десятков до 300 сотен в день. История с 2018 по сегодня. Задача: дать датасатанистам, доступ к этим данным. идея в том, что 1 источник ==1 коллекция
Кроме ДСов с данными ктото работает?
да, сбоку должен быть микросервис веб морды с elk
Обсуждают сегодня