Рагулєг🍉
@dd_bb
Vova
Такой вот запрос. Коллекция пустая
Vova
The field 'SentTimes' must be an array but is of type string in document {no id}
Vova
Vova
Push же должен создавать массив, если его нет. А вылетает такая ошибка, но коллекция ведь пустая
Vova
В том то и прикол, что это массив
Nan0
я правильно понимаю, что если я изменяю у конретного поля в документе значение, то документ перемещается по расположению в бд монги?
Jamal
Все привет, пытаюсь установить composer в проект, а мне выдает ошибки root@ovz2:/var/www/peretz-api.crvit.ru# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20170718/mongodb.so (/usr/lib/php/20170718/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mongodb.so.so (/usr/lib/php/20170718/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20170718/mongodb.so (/usr/lib/php/20170718/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mongodb.so.so (/usr/lib/php/20170718/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20170718/mongodb.so (/usr/lib/php/20170718/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mongodb.so.so (/usr/lib/php/20170718/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Сервер на ubuntu 1804LTS, mongo устанавливал по документации в mongo версию 4.0
Ruslan
Всем привет! Есть проблема с схемой монгуста. Определяется только одна схема и записть идёт только по ней, все остальные схемы игнорируются, при этом схемы к разным коллекциям. Кто знает что это за бред и как это исправить?
Edouard
Все привет, пытаюсь установить composer в проект, а мне выдает ошибки root@ovz2:/var/www/peretz-api.crvit.ru# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20170718/mongodb.so (/usr/lib/php/20170718/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mongodb.so.so (/usr/lib/php/20170718/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20170718/mongodb.so (/usr/lib/php/20170718/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mongodb.so.so (/usr/lib/php/20170718/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20170718/mongodb.so (/usr/lib/php/20170718/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mongodb.so.so (/usr/lib/php/20170718/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Сервер на ubuntu 1804LTS, mongo устанавливал по документации в mongo версию 4.0
Ставили через apt install php7.*-mongodb или через pecl ?
Edouard
Тогда доставьте и прочие пакеты. https://websiteforstudents.com/install-mongodb-with-apache2-php-7-2-support-on-ubuntu-16-04-17-10-18-04/ как вариант на посмотреть что необходимо устанавливать.
Nan0
Что вы имеете ввиду под «перемещается по расположению в бд»?
Порядок, в котором документы создавались/вставлялись, а потом апдейтились. Они могут между собой меняться местами по расположению в дальнейшем в зависимости от собственных видоизменений?
yopp
В монге нет «порядка» как такового. Есть «натуральный порядок», но он не гарантируется.
yopp
У документов есть внутренний RecordId, но он не меняется в течении жизненного цикла документа.
yopp
Например в реплика сете, одинаковые документы могут иметь разные RecordId и как следствие на разных репликах «натуральный порядок» будет разный
Dmytro
подскажите пожалуйста можно ли как то сделать выборку где у итема есть поле массив и у него каждая запись не пустая?
Gleb
Подскажите, как правильно обновить данные в БД
Gleb
есть N количество ответов (документов)
Gleb
у каждого из них различные параметры тегов
Gleb
нужно пройтись по всем документам(через айди из массива) и каждому изменить свойство (у каждого разное значение)
Gleb
возможно обойтись без цикла запросов?
Denis
возможно обойтись без цикла запросов?
вроде да подробнее опиши с примером
Gleb
Так я уже с примером)
Gleb
Есть answer[i].tags = [tag1,tag2]
Gleb
Приходит 10 ответов, у которых поменялись теги
Gleb
Приходит список тегов, которые обновлялись у этих ответов
Gleb
Например, каждому из этих ответов добавили тег
Gleb
Либо каждому удалили
Gleb
Тегов может быть бесконечное количество, как и ответов
Gleb
К тому же, у ответа уже мог быть этот тег и его удалили. Так же, у ответа мог быть тег и он останется, а остальным добавится такой же
Gleb
Изменить структуру входных данных не проблема. Главное, наиболее оптимально сохранять данные в БД
Gleb
Поскольку, ответов может быть 100,1000,100000
Gleb
Не хотелось бы, чтоб юзер на фронте ждал неделю, пока это все не обновится
Denis
Так я уже с примером)
https://docs.mongodb.com/manual/reference/operator/aggregation/in/
Denis
если правильно понял
Denis
забавно что мне самому здесь подсказали вот недавно использовать этот метод на аналогичной задаче
Denis
https://docs.mongodb.com/manual/reference/operator/query/all/
yopp
Есть answer[i].tags = [tag1,tag2]
если у каждого документа свой набор тегов, то по одному
yopp
да
Gleb
И никаких решений?
Gleb
Сервак же заглохнет))
yopp
нет, не заглохнет
yopp
зачем?
Gleb
Много клиентов
Gleb
Которые могут вызвать это событие
Gleb
С неограниченным количеством ответов и тегов
yopp
сколько у вас сейчас клиентов и сколько документов надо будет обновлять?
Gleb
Это обычная фича в ЛК
Gleb
Ей будут пользоваться довольно часто
Gleb
Для тегирования ответов
Gleb
Эм...
Gleb
Навскидку, есть клиент, у которого до 100к в месяц ответов
Gleb
Если он так пакетно настроит один раз теги им
Gleb
Каким-то добавит, каким-то удалит
Gleb
+ можно выбрать даты и ответы расширить до бесконечности
yopp
запретите бесконечность
Gleb
То есть, тут надо прям оптимальное решение
yopp
введите разумные ограничения
yopp
не нужно
Gleb
Запретить на весь сервис ради одной фичи?
yopp
«бесконечность» это неразумное техническое требование
Gleb
Ну, я условно говорю
yopp
бесконечно большие обновления будут занимать бесконечно много времени
yopp
и будут стоить бесконечно много денег
yopp
ещё раз уточним, у вас клиент генерирует огромные количества пар «идентификатор документа» == «новые теги»?
Gleb
а мне нужно записывать
yopp
а мне нужно записывать
если вам надо на группе документов выполнить одну операцию, то это возможно в рамках одного запроса. если вам необходимо на группе документов выполнить уникальную для каждого документа операцию, то это не возможно в рамках одного запроса. Но для хранилища разницы между «одним запросом» или «несколькими запросами» практически нет. Для обновления «одним запросом» всё равно придётся найти, прочитать, обновить и записать все попавшие в запрос документы. Разница между «одним запросом» и «несколькими запросами» сведётся приемущественно к количеству датаграмм
Gleb
спасибо
Gleb
Подскажите, из той же темы. Делаю операцию $push, но может добавлять дважды один и тот же тег
Gleb
есть операция на добавление единожды ?