Gleb
sqllite твой друг
то чувство, когда уже весь проект написан с использованием монги
mike
то чувство, когда уже весь проект написан с использованием монги
интересный кейс конечно, чтобы пользователю юзать приложение, нужно в довесок ставить монгу 😳
Gleb
интересный кейс конечно, чтобы пользователю юзать приложение, нужно в довесок ставить монгу 😳
не совсем понял вашей шутки, возможно в силу своей неопытности в данной технологии
Alexandrr
интересный кейс конечно, чтобы пользователю юзать приложение, нужно в довесок ставить монгу 😳
а при чём тут клиент-серверное приложение и приложение только клиентское?
Gleb
а что, после того как я скомпилирую проект, пользователю нужно будет устанавливать монго?
Gleb
А для чего его тогда использовать? Если он такой неудобный
Gleb
Это ведь он тогда пойдет лишь под крупные проекты, где могут позволить себе какой нибудь удаленный сервак
Gleb
А не мелко кармашечные приложения
Gleb
Хмм
Gleb
А для каких?
mike
А для каких?
для серверных, сам же ответил выше
mike
А не мелко кармашечные приложения
SQL Lite тебе нужен, ищи инфу и юзай спокойно
Gleb
с sqlite я знаком поболее чем с монго, решил использовать её чисто ради изучения
Gleb
а так интересно
Gleb
спасибо вам
Gleb
а я ещё думаю, почему это в datagridview нет источника данных при помощи монго
Gleb
а они что то знали...
Mira
Подскажите пж, не могу нагуглить правильно Возможно ли подписаться на обновления монги (т.е. при добавлении объекта уведомлять об этом, мб в виде эвента) Условно, делаю запись и скрипт бы знал, что запись добавлена и мог бы её найти Чёт никак не могу понять, условно реал-тайм слежка Для питона
Московский
всем привет! пытаюсь загрузить данные из файла в коллекцию через mongoimport, но получаю ошибку "Failed: error processing document #33: invalid character 'Ñ' after object key:value pair". В чем может быть причина? Данные в файле json-формата в виде {key: value} {key: value} если добавлять по одному через insertOne(), запись добавляется
Pavel
А можешь пример какой-нибудь показать?
так это не от монги же зависит, а от конкретного приложения
Pavel
что за стек?
Mira
что за стек?
python + mongodb
Pavel
python + mongodb
прям голый или джанго например?
Mira
голый
Pavel
голый
ну тогда например в методе обращения к монги можно вызвать какую то функцию что вы хотите повесить на событие уведомления, я просто хз как объяснить, но такое реализовывается без участия со стороны БД
Mira
Да я вот тоже думаю что можно это сделать как-то подобным образом Мне предлогали Prometheus + grafana + grafana alerts, но слишком сложно для простой задачи
Mira
а какая задача )) я хотел предложить вот такую концепцию https://pypi.org/project/django-event-system/ =)))
Если кратко, то есть скрипт который работает с данными и отправляет их в базу и ещё несколько скриптов которые обрабатывают эти данные Соответственно эти обработчики данных я хотел вызывать по факту обновления коллекций в бд
Ігор
Привет, в схеме установил для поля required: true, но почему-то все равно пропускает создание обьета без этого поля, в чем может быть проблема?
Александр
Привет всем, подскажите, что за херь такая происходит? Код в самом низу работает, тот что выше бьет странную ошибку которую я даже нагуглить толком не могу
Александр
До этого пользовался точно таким же кодом, все работало
Александр
Модель такая
Александр
А вот так всё работает
Александр
нихрена не пойму
Nick
нихрена не пойму
зачем вы используете exec()? и почему не работаете с возвращаемым объектом
Marry.Dev🌬 🌊
Ребята, всем добрый вечер! Первый раз делаю, подскажите пожалуйста, как сделать left join в mongoDB?
Alexandr
Посмотрите оператор $lookup
Marry.Dev🌬 🌊
Семен
Привет, ребят, можете дать консультацию за денежку или за так, там уж сами решите какая консультация получится
Семен
по одной кноке мне нужно создавать таблицу если ее нет, а если она уже есть, то уже нужно выполнить обновление таблицы Для обновления нужен _id как его передать если я не могу быть уверен есть такая таблица или нет Как вариант слать поисковый запрос и если он вернул что-то значит таблица есть и делать уже обновление если там ничего нет, то создавать таблицу На сколько это здравая идея слать каждый раз дополнительный запрос на проверку
Vladyslav
по одной кноке мне нужно создавать таблицу если ее нет, а если она уже есть, то уже нужно выполнить обновление таблицы Для обновления нужен _id как его передать если я не могу быть уверен есть такая таблица или нет Как вариант слать поисковый запрос и если он вернул что-то значит таблица есть и делать уже обновление если там ничего нет, то создавать таблицу На сколько это здравая идея слать каждый раз дополнительный запрос на проверку
берете ваш "репозиторий" и пишете в нем логику - если колекция есть, верни ее, если ее нету, то сразу создать ее. Получаете инстанс вашего репозитория и дальше зовете updateOne(upsert: true) это вам обновит обьект, если таков существует или создаст новый. Также можно глянуть replaceOne, если фильтр поиска состоит из нескольких полей и тд
Семен
я использую updateOne с оператором $addToSet для добавления объекта в массив С фронта я могу слать только post запрос и уже на бекенде обрабатывать логику или мне нужно ответ поиска возвращать и менять тип запроса на patch
Семен
мы же делим все запросы на разные типы и с фронта приходит определенный запрос с опредленным типом, на бэке эти типы по разному обрабатываются и запрос с методом patch обрабатывается по одной логике, а запрос с типом post обрабатывается по другой логике Или забить тогда болт и прописать просто post запрос и на бэке рассортировать логику создания и обновления
Vladyslav
мы же делим все запросы на разные типы и с фронта приходит определенный запрос с опредленным типом, на бэке эти типы по разному обрабатываются и запрос с методом patch обрабатывается по одной логике, а запрос с типом post обрабатывается по другой логике Или забить тогда болт и прописать просто post запрос и на бэке рассортировать логику создания и обновления
все запросы обрабатываются так же само, нету никакой "одной-другой" логики. Стоит различать для чего применяется "название_глагола_http" - просто для идентификации действия, но никак не логики. Вам никто не запрещает делать только посты\геты и тд. Да хоть делайте api, которое вместо данных ексель файлы принимает - дело за вами😄
Vladyslav
от того, что вы на Update ендпоинт повесите put или post ничего глобально не поменяется. Более важно как вы напишите код обработки
M
Server at **** 27017 reports maximum wire version 4, but this version of the Node.js Driver requires at least 6 (MongoDB 3.6)
Nick
Server at **** 27017 reports maximum wire version 4, but this version of the Node.js Driver requires at least 6 (MongoDB 3.6)
ответ на предыдущий вопрос бинд ip указывается для открытия сокета на чтение и 0.0.0.0 в таком случае указывает, что принимать запросы направленные на любой ip имеющиеся на сервере (такто точнее сказать на интерфейсах, но это при желании почитаете). При подключении же указывается ip адрес сервера, но .т.к. 0.0.0.0 не явялется адресуемым ip и его нельзя задать ни на одном интерфейсе, то надо выбрать один из доступных ip на сервере (смотреть через ifconfig на линухах, ipconfig на винде). Если подключаете с того сервера на каком и открыт сокет, то как правило надо указать или localhost или 127.0.0.1 что по сути одно и то же
Nick
Server at **** 27017 reports maximum wire version 4, but this version of the Node.js Driver requires at least 6 (MongoDB 3.6)
у вас версия драйвера и версия БД не совпадают, приведите все в порядок. Например обновите БД до более новой
Nick
как обновить бд?
у вас какая версия сейчас стоит?
Nick
MongoDB shell version: 3.2.20
connect to mongo via mongoshell and run db.serverStatus() there need field version
Nick
хех, нужно выполнить db.serverStatus() и оттуда поле version
M
"version" : "3.2.20",
M
хех, нужно выполнить db.serverStatus() и оттуда поле version
может компас использовать более старый?
Nick
тогда надо пройтись с 3.2 до 3.4 по https://www.mongodb.com/docs/manual/release-notes/3.4/#upgrade-procedures потом с 3.4 до 3.6 https://www.mongodb.com/docs/manual/release-notes/3.6/#upgrade-procedures
Nick
может компас использовать более старый?
3.2 сама по себе старая, надо обновляться
Nick
а так да можно взять тот же старый robo3t гденить, он будет хорошо работать
M
получилось! спасибо!
Nick
последний патч на 3.2.22 был 28 декабря 2018 года, если пакет такой же старый, то пойдет
M
последний патч на 3.2.22 был 28 декабря 2018 года, если пакет такой же старый, то пойдет
таблицы отобразились, но содержимое нет( Current topology does not support sessions
M
короче нужно подобрать версию компаса
Nick
таблицы отобразились, но содержимое нет( Current topology does not support sessions
сессии появились в 3.6, драйвер значит все также требует новую версию