Viktor
yopp
Нет, приложение понимает только 1 адрес
Что вы имеете ввиду под «понимает»? Если вы не указываете все адреса в connection string вашего драйверах, значит вам необходимо их указать
См https://docs.mongodb.com/manual/reference/connection-string/#standard-connection-string-format.
Viktor
yopp
Нет, клиенты по спецификации обязаны писать только в текущего выбранного primary
Viktor
yopp
Ваша задача передать клиенту адреса всех или большинства в реплике, чтоб в случае отказа клиент мог хоть куда-то подключится. В случае если в кластере произойдут выборы, клиенты получат уведомление об изменении топологии и автоматически переключатся на нового праймари
Viktor
yopp
Драйвер который использует рокетчат, если он следует спецификации.
Viktor
Hallo
А можно мне ссылку на трансляцию на ютубе по вчерашним докладам?
yopp
https://youtu.be/SiawV5vbjMo
hi
Мне кажется быстрее будет написать обновлятор на forEach
в 4.0.10 все так же, пишу обновлятор на forEach, но что-то не пойму, как в каждый обьект массива добавить поле Date(signedDate) того же объекта.
это надо что ли взять весь массив contracts, в js его обновить в цикле и потом заменить?
типа update({_id:doc._id}, {$set:{contracts:updatedContracts}})
yopp
tsar
tsar
как это сделать правильно?
tsar
спасибо
Nick
Скажите для начала а для чего будут использоваться эти логи? Как быстро нужно к ним обращаться?
Nick
Все 100к записей?
Nick
А более старые нужны или прям их можно удалять?
Nick
Тогда однозначно отдельная коллекция запись лога = один документ
Nick
С ид юзера
Nick
В дальнейшем вы скорее всего пересмотрите саму задачу, подход к ней, и как следствие способ хранения
Nick
Да
Nick
Только обязательно указывайте поле для сортировки
Nick
Ну и про индекс юзерИд-время не забудьте
Nick
Я про то, что когда у вас будет больше 100гб логов и примерно 100-500млн записей, вы упретесь в скорость и цену железа и будете пересматривать эту часть задачи
Nick
Да все еще лучше, т.к. Один док в монге ограничен 16мб и рано или поздно найдется юзер который вам все это сломает. 16мб это всеголишь 16к записей по килобайту
Nick
Тогда точно достаточно монги и отдельной коллекции без всяких доп инструментов и вопросов как быть с архивированием и т.п.
hi
Да, это самый быстрый вариант.
доброе утро, новое поле вот так создавал
doc.data.contracts[i]['dateSignedDate']=new ISODate(doc.data.contracts[i].dateSigned);
взял сначала просто Date, работало так же, прочитал, что вроде как ISODate буде лучше, переделал на него, создал индекс, но все равно работает так же https://pastebin.com/n1N50dHf
как-то иначе это делать надо или все норм и остается только про баг в жиру писать?
yopp
Бакетами по количеству документов отображаемых на странице и с группировкой по пользователю
yopp
yopp
А, с двумя границами вижу
yopp
Покажите с одной?
yopp
yopp
Заведите баг, приложите тестовый кейс
hi
yopp
yopp
И запросы
yopp
Можете обезличить другие данные
hi
yopp
https://groups.google.com/forum/#!topic/mongodb-user/iZ67kDHy5n0
yopp
4.0.10 (May 31) ◦ 3.6.12 (Apr 8) ◦ 4.2.0-rc0 (Jun 5)
События:
• 17–19 июня, Нью-Йорк, Конференция: MongoDB World (900$)
• Плейграунд для запросов
• Документация
• Официальные курсы по MongoDB
Stable: 4.0.10 | Bugfix: 3.6.12 | Legacy: 3.4.20 (Mar 13) | Dev: 4.2.0-rc0 (Jun 5)
End of life: 3.2.21 (Sep ’18), 3.0.15 (Feb ’18)
yopp
Mutable Shard Key Values: You can now update one or more shard key values to modify the placement of a document in a cluster using a single, all-or-nothing ACID transaction (subject to the existing 60 second default execution time).
yopp
On-Demand Materialized Views: Outputs from aggregation pipeline queries can now be merged with existing persisted result sets whenever you run the pipeline, giving you materialized views that are refreshed on-demand.
yopp
Вот это очень интересно
Bro
Ого да
RA-TA-TATA
Подскажите пожалуйста, как можно скопировать документ из 1 коллекции в другую коллекцию?
hi
RA-TA-TATA
hi
да
можно так
db.col2.insert(db.col1.findOne({<тут ваш запрос>},{_id:0}))
hi
Denys
подскажите такое дело, есть документ с такими полями как, имя, группа и год. и нужно сделать так что бы сначала сгрупировало по году, а потом по группам уже внутри годов?
Denys
тоесть примерно такая структура
[
{year: '2019',
groups: []},
{year: '2018',
groups:[]}
]
Denys
что, никто не поможет?
yopp
Denys
Denys
а дальше?
yopp
Если вы хотите чтоб вам помогли, то прекратите хамить и уважительно относитесь к поддержке сообщества. В противном случае вас ждёт бан
Denys
извините, если вы посчитали это хамством, я не хотел вас обидеть
yopp
Если вы хотите сложить документы внутри года в массив, то https://docs.mongodb.com/manual/reference/operator/aggregation/push/
Denys
Denys
у меня уже получилась такая структура
Denys
но как сделать групировку еще раз, только уже в кажом годе
yopp
Группировку по какому атрибуту?
Denys
атрибуту group внутри массива students
yopp
Т.е. вы хотите сгруппировать студентов и по году и по группе?
Denys
именно
yopp
Самый простой варинат указать и год и группу в _id в $group
Denys
хм, это уже значительно лучше
Denys
спасибо за помощь
hi
хм, это уже значительно лучше
Вообще же в агрегациях можно сколько угодно раз использовать разные стадии $group, $projection, $unwind и тд. Не соображу как именно в вашем случае, но вот похожий пример https://stackoverflow.com/questions/42456436/mongodb-aggregate-nested-group
Denys
Denys
кажется у меня получилось то что я хотел
Denys
спасибо большое