
yopp
19.03.2018
09:21:08
Тема не для этого чата

Nick
19.03.2018
09:21:42
э, человек спросил, надо начтавить ан путь истинный

yopp
19.03.2018
09:22:18
В личку можно продолжать наставлять

Вячеслав
19.03.2018
10:42:57
Здравствуйте, подскажите, пожалуйста... Есть коллекция Settings -> объект с полями event: "isGameOntime" и timer: {value: false, min: 1, sec: 0, millsec: 0}
как я могу через JS изменить поле timer.value?

Google

Вячеслав
19.03.2018
10:43:06
Settings.update( { event: 'isGameOnTime' }, { $set: { "timer.$.value" : false } } );
так не получается

Nick
19.03.2018
10:43:32
без доллара
timer.value
доллар нужен при работе с массивами

Вячеслав
19.03.2018
10:44:17
Действительно)) Все работает, спасибо
Да, я так и понял уже.. просто есть еще похожий функционал с массивами, вот и скопировал с долларом... спасибо

Alex
19.03.2018
14:42:32
когда вызываешь createIndex, то он будет каждый раз делать индекс или только первый раз делать, а затем при insert обновлять? createIndex вызывать после insert или перед find?

yopp
19.03.2018
14:45:43
createIndex создаёт индекс. Дальше индекс пополняется и обновляется автоматчески (по insert / update / delete), ничего дополнительно делать не надо.

Леха
19.03.2018
15:11:15
Кто mongo-migrate юзает?
Есть API сервер на express + mongo. Крутится в Docker контейнере.
Как бы автоматизировать выполнение миграций? Чтоб во время билда контейнера накатывались.
А то щас приходится после деплоя заходить ручками в контейнер и выполнять команду.

Zloy Dobriy
19.03.2018
15:46:33
Бось спрасить, но зачем?)

Леха
19.03.2018
15:46:58

Rocket
19.03.2018
15:56:48

Google

Rocket
19.03.2018
15:57:10
Переписав код, данные сами магическим образом обретут новую структуру?

Леха
19.03.2018
15:57:13
Ну вот и я не знаю чему люди удивляются.
Ну монге не обязательно, чтобы у всех документов в коллекции была одинаковая структура.
Просто мне так привычнее и меньше путаницы.
Да и ошибок не возникает из-за отсутствующих полей.

Alex
19.03.2018
16:01:25
спс

Алексей
19.03.2018
19:50:22
Парни, такой вопрос, на сколько большой документ вы делаете, я имею ввиду, когда вы понимаете, что нужно выносить ссылку на этот подобъект(поддокумент), а не помещать его целиков внутри нашего документа. Просто после sql немного ломает мозги, спасибо
Если по конкретнее, допустим есть модель user, у него может быть массив friends, который может быть любой длины, лучше его вынести в отдельную можель или оставить вложенной

User ?
19.03.2018
19:55:36

Алексей
19.03.2018
19:56:59
Вопрос в целесообразности использовании вложенности объектов друг друга, либо выносить в отдельную сущность.

Alex
19.03.2018
21:06:16
в случае user, friends не вижу смысла выносить - это только усложнит. Есть смысл выносить если объект большой и при этом он используется многими другими объектами, а у каждого user свой firends, два юзера не могут иметь один и тот же массив firends (могут но вряд ли)

Aleksandr
19.03.2018
21:16:02
Ну так разве в этой задаче friends не состоят из таких же юзеров?

Alex
19.03.2018
21:19:19
ну да, но сам массив ссылок не надо выносить

Алексей
19.03.2018
21:19:26
нет, там ссылки на других user
алекс, то есть большой массив friends не будет ударять по производительности, и по скорости запросов к user?

Aleksandr
19.03.2018
21:25:42
Так а что правильно хранить в таком массиве?
Уже готовые объекты френдов, или просто их список id ?
Ведь у разных юзеров может быть в друзьях один и тот же друг
И будет дублирование информации

yopp
19.03.2018
21:29:41
Надо исходить из того зачем вам друзья. Друзья это вообще граф обычно. Для них так вообще отдельные хранилища есть (но по отзывам они в среднем так себе, но тут скорее к математике вопрос)
В массивах надо хранить те вещи, которые разумно ограничиваются. Если вещи не ограничиваются, то их лучше денормализировать.
Можно заводить например коллекцию связей, где в одном документе не более 1000 друзей. См https://docs.mongodb.com/ecosystem/use-cases/storing-comments/#hybrid-schema-design
Но без конкретного кейса очень тяжело советовать.

Aleksandr
20.03.2018
05:43:29
а в чем существенное отличие между enterprise и community версиями?

Google

Aleksandr
20.03.2018
05:46:13
в частности интересует вопрос бесплатного использования
или обе версии можно использовать в коммерческой эксплуатации без каких либо проблем?

Zloy Dobriy
20.03.2018
05:48:09
http://www.gnu.org/licenses/agpl-3.0.html
Вроде так

Алексей
20.03.2018
06:40:51
я привел часть конкретики, что бы вопрос не заивать, на самом деле у этого user, может быть множесто друзей, подписчиков, тех на кого сам подписан, групп и так далее
то есть колличество таких массивов за ранее не известно, соответсвенно не известно и размер

Alex
20.03.2018
08:48:19
ну ясен пень что тут надо всё в один документ кидать - а кидать в несколько документов - это усложнять только жизнь себе
один юзер - один документ

Max
20.03.2018
09:00:04
В репозиториях свежая версия 3.4. появилась, 3.4.14
На сайте монго значится как upcoming
скоро аннонс должен быть

Алексей
20.03.2018
09:01:47
Спасибо alex, и все другим кто помог)

Peter
20.03.2018
12:37:08
Как можно посмотреть oplog, на mongodb atlas?

yopp
20.03.2018
12:47:10

Aleksandr
20.03.2018
12:47:28
понял, спасибо

yopp
20.03.2018
12:48:28
Емнип, лицензия начинается от 5к за data bearing сервер в год.
Но у них линейка услуг существенно расширилась, может дешевле стало

Dmitry
20.03.2018
15:05:33
подскажите, реально ли посетить в докер контейнере (docker-compose) юзера и пароль для определенной db?
ну тобишь создать юзера для определенной базы, чтобы коннектиться с аутентификацией

Vlad
20.03.2018
15:09:43
Сделать контейнер с базой, где будет настроена аутентификация?

Google

Vlad
20.03.2018
15:11:03
Или клиента в контейнере, который будет иметь логин-пароль для подключения к базе?

Dmitry
20.03.2018
15:21:06
но хотелось бы это сделать лагонично без баш скриптов

Vlad
20.03.2018
15:31:56
Или его image взять за основу

Dmitry
20.03.2018
15:33:33
У меня есть скрипт в js на создание юзера

Vlad
20.03.2018
15:33:36
https://hub.docker.com/r/aashreys/mongo-auth/

Dmitry
20.03.2018
15:33:43
Как его запустить в контексте

Vlad
20.03.2018
15:33:47
Тогда в чем проблема?

Dmitry
20.03.2018
15:34:06
У меня один докерфайл
На ноду+ монго
Есть докеркомпоуз
Который поднимает и году и монго
Нужно как-то запустить этот скрипт js в контексте монги
А не в контексте node

Vlad
20.03.2018
15:35:58
volumes:
- /{путь до папки с твоим .js}:/docker-entrypoint-initdb.d/

Dmitry
20.03.2018
15:36:49
Спасибо ща попробую
а этот путь должен быть локально в системе
или как?
в общем у меня все в dockerfile копируется в /usr/src/app

Google

Dmitry
20.03.2018
16:54:53
но в docker-compose как путь то указать?
- /usr/src/app:/docker-entrypoint-initdb.d/ ?
@vl_zv

Vlad
20.03.2018
16:56:50

Dmitry
20.03.2018
17:06:38
А там только один скрипт должен быть js и произвольного названия пойдет?

Vlad
20.03.2018
17:11:06

Dmitry
20.03.2018
17:15:00
Ок
Спасибо попробую еще

Vlad
20.03.2018
17:25:10
Спасибо попробую еще
Там внутри образа лежит docker-entrypoint.sh, который при запуске смотрит в ту папку и закускает все .sh и .js, что там найдет