Алексей
я устанавливал, удачно, по доке с сайта монги
web
mongod не mongo
mongod тоже не работает
Алексей
и предположу что чего то пишет в ответ
web
и предположу что чего то пишет в ответ
Какую из этих устанавливал?
Алексей
у меня на сервачке 22
web
у меня на сервачке 22
у меня тоже 22, но не факт, что Jammy
Алексей
и я не помню проблем, точно по инструкции все делал и убунту сперва обновил?
Алексей
Алексей
не могу утверждать что дело в хостинге, но если назову скажут что рекламирую
Нуриддин
Нуриддин
Какую из этих устанавливал?
Прости но почему выбираешь 16 версию опирацинки а пишешь что 22ая?
web
Я оказывается просто не стартанул могу. Все хорошо. Спасибо!
Нуриддин
Это просто вкладка на сайте
Mongod команда всё так же не видна?
web
Mongod команда всё так же не видна?
видна. просто нужно было выполнить sudo systemctl start mongod
Melonges
Всем привет, как правильно делаются изменения модели документа? Имеется в виду, что когда до добавляешь новые свойства для документов из коллекции, то все уже существующие в ней документы ей уже полностью не соответствуют. Я понимаю, что монга как раз этим и хороша, и если нужно консистентность юзай sql базы. Но все же, когда используешь orm типо mongoose, что в такой ситуации делать?
Sasha Tsikhun
привет! если я пишу бота на aiogram с mongodb, я должен использовать сервер mongodb atlas uri и чтобы задеплоить сам бот, нужно его на отдельный сервер деплоить?
Nick
или это как-то в докер завернуть (mongodb будет локально: mongodb://localhost:27017/) и просто на сервер?
можно и так, если не хочется использовать атлас. Вопрос только цены и желания монгу админить. Ну и атлас всетаки кластер выставляет, в вашем случае на одном серваке будет лишь одна нода монги
Sasha Tsikhun
можно и так, если не хочется использовать атлас. Вопрос только цены и желания монгу админить. Ну и атлас всетаки кластер выставляет, в вашем случае на одном серваке будет лишь одна нода монги
если не использовать атлас, то сервер нужен будет только для бота? (монгу не нужно будет админить?) хочу максимально уточнить все, поэтому простые вопросы задаю(
Nick
если не использовать атлас, то сервер нужен будет только для бота? (монгу не нужно будет админить?) хочу максимально уточнить все, поэтому простые вопросы задаю(
если атлас не использовать то монгу надо гдето крутить, либо на том же серваке где и бот, либо на отдельной машине. Смысл разделять зависит от нагрузки и в целом всегда можно перенести позже
Sasha Tsikhun
если атлас не использовать то монгу надо гдето крутить, либо на том же серваке где и бот, либо на отдельной машине. Смысл разделять зависит от нагрузки и в целом всегда можно перенести позже
бот будет на сервере если напишу: 'mongodb://localhost:27017/' (команда при запуске локально, на компе), то он будет работать как на сервере?
Nick
бот будет на сервере если напишу: 'mongodb://localhost:27017/' (команда при запуске локально, на компе), то он будет работать как на сервере?
вопрос не ясен. если монга на той же машине будет что и бот, то локалхост прокатит, если нет - то должен быть полный урл
e1
Кто ставил mongodb на мак с apple silicon? Без rosetta актуальную версию кто-то умеет ставить?
yopp
Кто ставил mongodb на мак с apple silicon? Без rosetta актуальную версию кто-то умеет ставить?
Из homebrew 7.0.2 под aarch64 file /opt/homebrew/bin/mongod /opt/homebrew/bin/mongod: Mach-O 64-bit executable arm64
Алексей
еще есть run-rs если надо побыстрее
e1
Ок, попробую, cпасибо
e1
У меня выдавало эту ошибку, которую я не мог решить MacBook-Air-5:~ e1$ brew tap mongodb/brew MacBook-Air-5:~ e1$ brew install mongodb-community@7.0 Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)! Please create a new installation in /opt/homebrew using one of the "Alternative Installs" from: https://docs.brew.sh/Installation You can migrate your previously installed formula list with: brew bundle dump
Назарчик 🇺🇦
Всем ку, я нашел проект на гит хабе бота предложки, и когда я пишу /start в боте, то получаю вот такую ошибку: bad auth : authentication failed, full error: {'ok': 0, 'errmsg': 'bad auth : authentication failed', 'code': 8000, 'codeName': 'AtlasError'} Как ее решить?
Nick
Я вставил сылку. Как можно сменить пароль?
в ссылку по аналогии с mongodb+srv://[username:password@]host[/[defaultauthdb][?options]] но это надо смотреть на используемый дрйвер, там возможно требуется явно отдельно уазывать
Nick
да
Назарчик 🇺🇦
да
а как сменить пароль? Єто нужно пароль от акаунта?
Nick
а как сменить пароль? Єто нужно пароль от акаунта?
в атласе надо завести отдельного юзера на кластере
Назарчик 🇺🇦
в атласе надо завести отдельного юзера на кластере
Тоесть как? Кластер я создал, что ещё нужно?
Nick
Тоесть как? Кластер я создал, что ещё нужно?
https://www.mongodb.com/docs/atlas/tutorial/create-mongodb-user-for-cluster/
yopp
У меня выдавало эту ошибку, которую я не мог решить MacBook-Air-5:~ e1$ brew tap mongodb/brew MacBook-Air-5:~ e1$ brew install mongodb-community@7.0 Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)! Please create a new installation in /opt/homebrew using one of the "Alternative Installs" from: https://docs.brew.sh/Installation You can migrate your previously installed formula list with: brew bundle dump
Вам нужно по инструкции, которая в сообщении об ошибке по ссылке, переустановить homebrew в /opt. Это новый префикс для homebrew на aarch64. Если homebrew в usr то туда будут устанавливая только x64 пакеты
Нуриддин
Добрый день, всем. Этот вопрос тем кто использует или знает о pbm. Я использую версию 2.3.0 и делаю инкрементальные бэкапы в ней. Недавно встретился с проблемой, что когда я востонавливаюсь по инкрементальному бэкапу то все бекапы которые были созданы после этой даты перестают отображаться в pbm list
Нуриддин
Как можно востоновить мой list и востоновить позднею версию инкрементального бека?ъ
.
Добрый день, такой вопрос. В монго внутри коллекции нельзя создать еще одну коллекцию с документами? Как в firebase? Допустим внутри Profile еще одна коллекция likes?
Алексей
можно сделать вложенный документ в профиле
.
А как тогда можно структурировать базу чтобы обозначить подписки, подписчиков и лайки пользователя?
Нуриддин
Но это не желательный подход
.
А какой желательный?)
Нуриддин
Делать 2 коллекции и через программу уже искать из 2х коллекций
.
Да уж, ну что поделать, придется привыкать…
Нуриддин
Да уж, ну что поделать, придется привыкать…
если сервис будет не слишком большой вьюха не плохое решение, но ресурсо затратное
Нуриддин
поэтому стоит учитывать и пространство которым облодаешь и работаешь
.
если сервис будет не слишком большой вьюха не плохое решение, но ресурсо затратное
Вот я и про это. Как это все потом отображать. Искать по разным коллекциям подписки , подписчиков пользователя и так далее
Нуриддин
Вот я и про это. Как это все потом отображать. Искать по разным коллекциям подписки , подписчиков пользователя и так далее
можно в документ вносить _id комментарий как ссылки и тогда ты сможешь быстро искать нужные тебе объекты
Нуриддин
логика не сложная учитывая что монга быстро ищет объекты по _id
Нуриддин
Ну или впринципе по индексу
.
логика не сложная учитывая что монга быстро ищет объекты по _id
Ну по файрбейс так и делал впринципе. Но визуально приятнее смотреть на базу данных когда коллекция в коллекции и все четко структурировано
.
Я где-то видел в телеграм тоже монго в качестве бд использует. Интересно это правда?
Нуриддин
Ну по файрбейс так и делал впринципе. Но визуально приятнее смотреть на базу данных когда коллекция в коллекции и все четко структурировано
коллекция в коллекции уже звучит не очень, ведь если будет вестись поиск по коментариям, это уже нереально запарно
Нуриддин
Я где-то видел в телеграм тоже монго в качестве бд использует. Интересно это правда?
возможно, но стоит учитывать что он гдето отсутсвует или плохая сеть
Нуриддин
или вообще у человека клиент отследит где находится база и вы потеряете данные так боты достаточно просто отследить и вести по ним атаки(полно скриптов на такие приколы)
.
коллекция в коллекции уже звучит не очень, ведь если будет вестись поиск по коментариям, это уже нереально запарно
Как по мне выглядит все очень даже красиво. Пока просто отказываюсь воспринимать то, что нужны все таки отдельные коллекции😅 но придется смириться что уж поделать
.
логика не сложная учитывая что монга быстро ищет объекты по _id
А как нибудь можно достучаться до id который монго создает автоматически? Я имею ввиду про objectId. Сколько пытался никак не мог
Nick
А как нибудь можно достучаться до id который монго создает автоматически? Я имею ввиду про objectId. Сколько пытался никак не мог
https://stackoverflow.com/questions/14481521/get-the-id-of-inserted-document-in-mongo-database-in-nodejs если не нода, то по аналогии смотрите в своем драйере
Богдан
Подскажите, какую структуру данных сделать в монго. 1. Нужно хранить данные об архивах (название, адрес...), архивы включают в себя фонды документов, фонды включают описи, а описи включают уже документы, которые хранятся в архиве. Сами документы имеют информацию о людях (к примеру, телефонный справочник). Какие коллекции правильнее сделать и где указывать связи между ними? Базу людей из документа делать в коллекции документа или отдельно и тоже делать связи? 2. Нужно хранить территориальные деления, как современные, так и исторические. К примеру, Россия, Омская область, Сватовский р-н, д. Иваново. И тот же населённый пункт: Российская империя, Сибирская губерния, Промысловский уезд, Сватовская волость, д. Иваново. То есть при указании старого варианта нас пункта ассоциация должна быть с новым и наоборот. Также, если пользователь указывает место рождения Сватовский р-н (без нас пункта), то это предполагается, что рождение было в одном нас пункте из этого района. Я подозреваю, что нужно сделать отдельные коллекции стран, областей, районов, волостей и нас пунктов. И уже в данных нас пункта указывать территориальное отношение за тот или иной период.
Александр
Добрый день. Подскажите, читаю change stream из mongos (бд шардирована). Нужно собрать максимально доступное количество ивентов в oplog. Возникает вопрос, как получить максимально далекий timestamp? Смотрел в метрики содержащие oplog и tail. Вижу, что при дропе коллекции, ts в метриках не сбрасывается до даты дропа - предполагаю, что в oplog будет просто событие дропа коллекции. При этом если бы у меня уже был токен от коллекции до дропа, продолжить с ним чтение не получится. Не понятно, как достать ts захватив, как можно больше ивентов касающихся актуальной коллекции?
Nick
Подскажите, какую структуру данных сделать в монго. 1. Нужно хранить данные об архивах (название, адрес...), архивы включают в себя фонды документов, фонды включают описи, а описи включают уже документы, которые хранятся в архиве. Сами документы имеют информацию о людях (к примеру, телефонный справочник). Какие коллекции правильнее сделать и где указывать связи между ними? Базу людей из документа делать в коллекции документа или отдельно и тоже делать связи? 2. Нужно хранить территориальные деления, как современные, так и исторические. К примеру, Россия, Омская область, Сватовский р-н, д. Иваново. И тот же населённый пункт: Российская империя, Сибирская губерния, Промысловский уезд, Сватовская волость, д. Иваново. То есть при указании старого варианта нас пункта ассоциация должна быть с новым и наоборот. Также, если пользователь указывает место рождения Сватовский р-н (без нас пункта), то это предполагается, что рождение было в одном нас пункте из этого района. Я подозреваю, что нужно сделать отдельные коллекции стран, областей, районов, волостей и нас пунктов. И уже в данных нас пункта указывать территориальное отношение за тот или иной период.
1. По сути надо отталкиваться от того как будете искать и что вообще с данными регулярно будете делать. Можете начать с обычной плоской реляционной структуры и потом как поймете реальные потребности перестроете структуру 2. Опять же зависит от того как будет использоваться и будет ли участвовать в выборках
Nick
Добрый день. Подскажите, читаю change stream из mongos (бд шардирована). Нужно собрать максимально доступное количество ивентов в oplog. Возникает вопрос, как получить максимально далекий timestamp? Смотрел в метрики содержащие oplog и tail. Вижу, что при дропе коллекции, ts в метриках не сбрасывается до даты дропа - предполагаю, что в oplog будет просто событие дропа коллекции. При этом если бы у меня уже был токен от коллекции до дропа, продолжить с ним чтение не получится. Не понятно, как достать ts захватив, как можно больше ивентов касающихся актуальной коллекции?
Не понятно зачем вам старые данные? Стрим на то и стрим что вы должны работать с текущим потоком и отталкиваться от состояния бд которое было на момент запуска стрима. Т.е. либо у вас стрим читается с начала существования бд, но это походу не ваш случай, либо вы должны предподготовку выполнить дополнительно при запуске стрима
Александр
Не понятно зачем вам старые данные? Стрим на то и стрим что вы должны работать с текущим потоком и отталкиваться от состояния бд которое было на момент запуска стрима. Т.е. либо у вас стрим читается с начала существования бд, но это походу не ваш случай, либо вы должны предподготовку выполнить дополнительно при запуске стрима
кажется стрим позволяет читать с произвольного момента, в частности токен является оффсетом с которого можно продолжить чтение. Реальность такова, что чтение может прерваться, за время остановки токен может уйти за границы oplog и чтобы продолжить чтение с минимальными потерями нужно вычислить максимально старый ts, чтобы продолжить чтение
Nick
к сожалению, не понял о чем вы
То что гарантий нет и вам самому надо все организовывать и контролировать. Хотите долгую историю - увеличивайте размер оплога, но если там уже нет данных то они из воздуха не возьмутся.