Aleksandr
Тем не менее, как сделать числовой тип у _id?)
что ты туда запишешь то там и будет
Aleksandr
если ничего при вставке не указал, то сама монга генерит туда объектид
Aleksandr
и не надо ей мешать
Aleksandr
иначе она потом припомнит
Aleksandr
и возни будет уже не 1 секунда на глобал реплейс в исходниках
Aʟᴇx
Кстати, если используются некоторые аггрегации и шардированная монга с индексами, то числовые id могут все сломать
Aʟᴇx
Я бы не стал этого делать не проверяя предварительно на отдельном окружении
RapidCodeLab
Менеджеру проще смотреть на человеский вид, чем на хеш
для менеджеров, если мы говорим о номере заказа, что скорее всего, генерят что-то типа DFG-2311 почти во всех популярных е-коммерс софтинах
Илья
У меня есть модель Диалоги и модель Сообщения, как лучше хранить сообщения, в отдельной коллекции или вложенно в модели диалоги?
yopp
Менеджеру проще смотреть на человеский вид, чем на хеш
В этом случае вам необходимо ввести отдельный совеместимый с людьми идентификатор
yopp
https://docs.mongodb.com/ecosystem/use-cases/storing-comments/
тут есть разбор возможных вариантов, со всеми плюсам и минусами
Илья
Сколько сообщений может быть у диалога?
Не думаю что больше пары сотен
Aʟᴇx
А, имеется в виду сообщение в мессенджере? Я думаю, что в этом случае вполне можно без особых проблем хранить как вложенный документ, но и отдельно тоже будет работать.
Aʟᴇx
А вообще лучше глянуть на доки по ссылке выше, очень годный материал
Aʟᴇx
А по производительности как?
Чтения быстрее, если все в куче, записи быстрее, если все отдельно
Aʟᴇx
Грубо говоря
Илья
Ну и так удобнее будет хранить я думаю
Aʟᴇx
Понял, мне чтение важнее
На самом деле там ерунда разницы в скорости, но большая разница в удобстве Там реально будет сложновато придумывать как сделать редактирование сообщений, удаление их и тд
Aʟᴇx
И еще такой момент, что если тебе нужно ссылаться на отдельное сообщение в диалоге, то лучше хранить отдельно
Илья
Мне нужно просто их выводить, даже удалять не нужно
Aʟᴇx
Мне нужно просто их выводить, даже удалять не нужно
Это пока, потом если что-то поменяется придется переделывать. Если есть такой риск, что когда-то все поменяется, то тоже лучше хранить отдельно
Илья
У меня вот такая штука, юзер пишет в телеграм бота и создаёт тикет а поддержка через веб панель отвечает, и бот присылает юзеру ответы в тг
Aʟᴇx
Потому что многие делают "MVP" и хранят все встроенными документами, а потом когда дело доходит до прода приходится все менять
Aʟᴇx
Потому что сообщения добавляются
Aʟᴇx
И их может быть бесконечно
Aʟᴇx
А растущие массивы - плохо
Aʟᴇx
И есть ограничение на размер документа
Илья
А как соединить пару диалог-сообщение, доку читал долго но не особо понял
Aʟᴇx
У тебя есть диалог. У него есть ID. У тебя есть сообщение. У него есть свой ID и ID диалога
Aʟᴇx
Дальше ты пишешь запрос "найди мне все сообщения, где ID диалога равны 342, например
Aʟᴇx
И получаешь все сообщения, которые относятся к диалогу
Aʟᴇx
Обычная реляционная схема данных
Илья
У тебя есть диалог. У него есть ID. У тебя есть сообщение. У него есть свой ID и ID диалога
Это я знаю, просто не особо понял как через _id это сделать, в sql я бы просто автоинкрементом сделал и удобно бы с числами работал
Aʟᴇx
Смотри, у тебя в телеграме есть ID сообщения
Aʟᴇx
И оно там само инкрементируется
Aʟᴇx
1, 2, 3...
Aʟᴇx
Тебе нужно просто добавить еще одно поле
Aʟᴇx
tgID, например, где будет ID сообщения из телеграма
Илья
И оно там само инкрементируется
А если я шлю сообщение, конфликты могут быть
Илья
Надо самому айди присваивать
Aʟᴇx
Не могут быть
Так как у тебя есть _id и вместе с ним tgID
Илья
Если я шлю то у сообщения будет только _id?
Aʟᴇx
Если я шлю то у сообщения будет только _id?
Нет, из приложения тебе надо слать только tgID, _id монга сгенерит сама
Илья
У тебя есть диалог. У него есть ID. У тебя есть сообщение. У него есть свой ID и ID диалога
Это мне надо в сообщение передавать dialogid равный _id диалога?
Aʟᴇx
Если я все правильно понял, то да
Aʟᴇx
Если нужна будет еще помощь, то можешь писать в лс, чтобы в чате людям не мешать
Tim
Как отключить соединение mongod ? И соединение с облаком (кластеры) mongo "mongodb+srv://cluster ** ?? Не хочется вандалить на системе...
Tim
И нужно ли их вообще останавливать ? Если собираюсь выкл комп ?
Tim
Ubuntu
Nick
Как отключить соединение mongod ? И соединение с облаком (кластеры) mongo "mongodb+srv://cluster ** ?? Не хочется вандалить на системе...
Если упрощенно, то соединения живет пока жив процесс его породившмй, если не производится прямого закрытия. В вашем случае остановка программы закроет все коннекты. Тем более выключение компа. Если хотетите по сложнее по добро пожаловать в мир tcp/ip найдите для начала информацию о том из каких шагов состоит установка соединения. Потом чтонить про маршрутизацию
Nick
И модель osi на вики обязательно глазами пробежать
Alex
Ребята, всем привет! А не подскажете, как сделать, чтобы _id был типа Number, а не вида "ads7fasdfas7dfasdfasdf"?
Короче, вчера я задавал такой вопрос и мне никто нормально не смог ответить, так вот, можно сделать нормальный инкрементальный индекс, это делается с помощью плагина - mongoose-plugin-autoinc, может понадобится кому-то
RapidCodeLab
заюзать код пятилетний давности, не поддерживаемый, для решения задачи, в которой нет смысла, хороший кейс! 👍
Alex
Где ж вы вчера были😂
𝕬𝖗𝖙𝖊𝖒
Всем привет, вопрос такого характера. Мне требуется забить в монгу определенные фото и в интернете пишут, что можно делать это с помощью кодировки 64base и с помощью GridFS. Что лучше использовать?
𝕬𝖗𝖙𝖊𝖒
Ммм, спасибо.