Mikhail
Добрый день, чат! Как щас принято и принято ли использовать mongos?
Mikhail
Что можно брать из коробки, а что самим или чем-то внешним городить
Mikhail
?
Mikhail
Как «кластера» делать?!
yopp
Как «кластера» делать?!
https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/ https://docs.mongodb.com/manual/core/sharded-cluster-components/
Mikhail
Не не
Mikhail
Надо опыт реальный , в доке то можно много чего понаписать
yopp
Надо опыт реальный , в доке то можно много чего понаписать
Документация к монге является основным источником плейбуков для различных ситуаций. Деплой шардов не исключение. Ссылка и есть ответ на вопрос «как принято».
yopp
Касательно конкретно mongos: 1) их используют только в sharded кластерах и без них кластер не поднять 2) размещать монгосы лучше на отдельных от нод хостах. Иногда их размещают рядом с приложением. На мой взгляд это не оптимальный вариант, лучше их вообще отдельно деплоить, так как они могут быть cpu/mem intensive на broadcast нагрузке.
Anton
👋 можно ли в монге сделать уникальный индекс на свойстве во вложенном массиве? например, у меня есть юзеры и у них есть паспорта как массив. пытаюсь сделать, чтобы номер паспорта был уникальный индекс. вот так, по хоже, не работает. { unique: true, key: { "passports.seriesAndNumber": 1 }, name: "passports.seriesAndNumber_1", ns: "my-db.users", sparse: true, background: true }
yopp
yopp
Leave _id alone
CybernatiC
Кто нибудь делал Messenger ?
yopp
Я не могу увидеть ошибку. из за уровня знаний
Распилите скрипт на части. Проверьте json до того как его заэскейпили
yopp
Плюс у вас там очевидно куски башевых команд в json выводятся
yopp
Вероятно где-то кавычки в скрипте потерялись
Andrey
под скриптом вы имеете ввиду мою конструкцию ?
Andrey
есть где валидуацию проводить ?
Andrey
тут пробую, он на все ругается :) http://jsoneditoronline.org/
yopp
под скриптом вы имеете ввиду мою конструкцию ?
Вы же написали что это башевый скрипт делает?
yopp
Во-первых оберните в одинарные кавычки и уберите escape
yopp
Так будет легче
yopp
Либо вообще в файле запрос напишите и передавайте файл через queryFile
CybernatiC
Ребят как сделать Insert с рефренсами? Например есть коллекция Message в котором содержатся поля с from -> ref user.id ; to -> ref user.id chat_id: ref Chat.id
CybernatiC
при insert необходимо делать выборку? потом инертить?
Andrey
есть что то годное почитать про синтаксис? я вас не понимаю в плане оберните в одинарные кавычки
Andrey
сейчас делаю через командную строку без скрипта. mongodump --host АЙПИАДРЕС --db ИМЯ_БД --collection ИМЯКОЛЛЕКЦИИ --query "{ \"addedTime\" :{ \$gte: { \"\$date\" : \"date -d \"'2019-09-30T00:00:00Z'\"} , \$lt: {\"\$date\" : \"'2019-10-01'\"}}}" --out -|gzip >/mnt/MongoSmall/to_upload/ИМЯАРХИВА +2019-10-01.zip gzip: +2019-10-01.zip: No such file or directory 2019-10-10T11:50:43.551+0200 Failed: error parsing query as json: invalid character '\'' after object key:value pair вот как узнать каки именно символ инвалид ?
Andrey
то что поменял русскими буквами написал
Andrey
загнал в скрипт, более информативно отрабатывает. всмысле хоть говорит где косяк
Askhat
Ребят. Всем привет. Это нормально что aggregate запрос состоит из 300 строк?
Askhat
Лукап только на две коллекции дополнительно
Bohdan
ваще что угодно может быть нормально
CybernatiC
Извращуга
Askhat
Покажи
в лс кинуть могу))
Vova
@dd_bb
Это я
Приветствую уважаемые. Подскажите рабочий клиент монго под 32-битную винду
S
если у тебя приложение растет и логика коллекций меняется, эту задачу лучше решать через шел? То есть не приложение должно менять все существующие коллекции , а ты сам вручную скриптами
Alexander
здравствуйте! есть ктонибудь кто ставил монгу в freebsd jail? как бороться с ошибкой: [thread1] Failed to mlock: Resource temporarily unavailable 2019-10-10T15:24:32.491+0300 F - [thread1] Fatal Assertion 28832 at src/mongo/base/secure_allocator.cpp 249
Dmitry
Приветствую уважаемые. Подскажите рабочий клиент монго под 32-битную винду
Юзаю более года NoSqlBooster - оч доволен, купил лицензию пару месяцев назад
Nick
Дорого
можно обойтись бесплатной робомонгой https://robomongo.org/
mb
здравствуйте! есть ктонибудь кто ставил монгу в freebsd jail? как бороться с ошибкой: [thread1] Failed to mlock: Resource temporarily unavailable 2019-10-10T15:24:32.491+0300 F - [thread1] Fatal Assertion 28832 at src/mongo/base/secure_allocator.cpp 249
Из пакета ставили? Там в стартовом скрипте должен быть флаг: --setParameter=disabledSecureAllocatorDomains=* С ним у меня нормально работает (mongodb36).
Ilya
Доброй ночи. Есть какие-нибудь цифры, сколько монга выдерживает rps? Искал-гуглил, находил разные цифры, для разных проектов.
RapidCodeLab
вообще в чем проьлема то, ставишь монгу, пишешь скрипт и тестишь на своих данных, делов на пару часов максимум)
Ilya
я например тестил вставку 1000/rps , выдерживает легко
Весьма неплохо. Еще интересно было бы узнать по update-у, ну может быть сам протестирую. А вы использовали чистый драйвер, или это с ODMкой, мангусом например?
RapidCodeLab
Чистый драйвер под go
Vlad
Парни, слышал, что mongoose не нужен, т.к. нативный драйвер монги теперь поддерживает TS. Кто-нибудь пробовал? Как вам?
yopp
Доброй ночи. Есть какие-нибудь цифры, сколько монга выдерживает rps? Искал-гуглил, находил разные цифры, для разных проектов.
Цифры в отрыве от задачи и конфигурации бесполезны. На моём хилом макбуке эйре с nvme можно легко 30к записей в секунду вставлять. Но это совершенно ничего не значит, кроме того что nvme выдерживает не менее 60к иопсов
Bohdan
Всем привет, как можно по айди объекта узнать его индекс в коллекции всех объектов?
Bohdan
для начала давайте не "как", а вообще можно ли
Nick
Вам нужно явно задать критерий, который считать порядком, например сортииовкой по какомуто полю, а потом используя скип/лимит выбирать по номеру. Но узнать индекс элемента даже в таком множестве не выйдет
yopp
Всем привет, как можно по айди объекта узнать его индекс в коллекции всех объектов?
В монге нет порядка, так что понятие «индекс» в отрыве от выбранного порядка сортировки не существует
Anonymous
ребят подскажите. делаю категорию. в ней сую parent_id (id на родительскую категорию). Стоит здесь ли использовать $agregate чтбы left join?
Dmitry
Подскажите плиз, как mongo/mongoose добавить поле? Т.е. если был документ {‘name’: ‘ivan’}, а нужно {‘name’: ‘ivan’, ‘status’: ‘ok’}
Dmitry
@yatoba т.е. типо того чтото, User.update({name : req.body.name}, {$set: {‘status’: ’ok’}})
Nick
@yatoba т.е. типо того чтото, User.update({name : req.body.name}, {$set: {‘status’: ’ok’}})
да, но в монгусе возможно корректнее будет найти док его поменять и потом уже измененный сохранить
CybernatiC
А в монгусе можно делать left join?
CybernatiC
Без рефренса
AlexMist
Привет, не подскажете , как лучше сделать. Есть документ, у него например 100 полей, и значение каждого поля является временным рядом (Timestamp, value). Но не длинным. Например от 1к до 10к значений. Как лучше хранить ? Как вложенные массивы ?
Nick
Без рефренса
аналог джойна - $lookup
CybernatiC
Дайте пример запроса с lookup + distinct