@MongoDBRussian

Страница 185 из 342
Vlad
10.02.2018
17:32:17
Так понимаю: цель - хранить файлы (видео) в коллекции? Бинарники

Если цель в этом, то лучше файлы хранить в чем-то другом. У монги есть ограничение на элемент коллекции в 16 мб. Есть гридфс, который позволяет разбить бинарники как бы на небольшие кусочки... Но блин, не для этого придумана эта база

Проще в ней хранить ссылки на файлы, а сами файлы в какой-нибудь распределенной glusterfs

Такие вот мысли, могу быть не прав

Google
Ruslan
10.02.2018
17:39:51
блииин я не про как хранить а про то как он читает это всё

но выше изложенная инфа тоже интересна

Vlad
10.02.2018
17:45:38
блииин я не про как хранить а про то как он читает это всё
Ну так я ещё раз спрашиваю, ты хочешь вытянуть потоком бинарный файл или просто какое-то поле? Потому что бд не выдает элемент коллекции потоком. Он выдает его полностью. Но можно поля обрезать и вытянуть только нужные.

Ruslan
10.02.2018
17:49:47
Ну так я ещё раз спрашиваю, ты хочешь вытянуть потоком бинарный файл или просто какое-то поле? Потому что бд не выдает элемент коллекции потоком. Он выдает его полностью. Но можно поля обрезать и вытянуть только нужные.
Во! Тоесть если я захочу спарсить то что находится в начале - он сначала загрузит ВСЮ страницу в оперативу и а только потом будет парсить... Поле это ключ? т.е {key : val}

Нет, бинарники хранить не думаю

Vlad
10.02.2018
17:58:02
А грузить данные потоком (ну то есть получить первый символ, потом второй и т.д.) он может, но вроде только бинарные.

Ruslan
10.02.2018
18:01:07
Понятно. Интересно мнение: что лучше 1)большой json 2) разбитый на елементы коллекции json со ссылками друг на друга

Ruslan
10.02.2018
18:02:22
К примеру большой mind map

Бд не для высокой нагрузки от большого кол-ва юзеров

Vlad
10.02.2018
18:06:01
Если он всегда будет нужен только сразу целиком, тогда так целиком и хранить. Думаю нет смысла разбивать.

Google
Vlad
10.02.2018
18:09:12
Ну типа здесь рулят антипаттерны реляционщины )) сплошная денормализация

Ruslan
10.02.2018
18:17:31
Если планируется считывать конкретное поле(типо многоразовое), то, мне: 1) Считать его из большого json? 2) вынести в отдельный елемент коллекции и оставить ссылку на него в большом?

Типо это поле может быть самостоятельной единицей и часть большого json

Ruslan
10.02.2018
18:25:27
Тут скорей вложенность

Как папка внутри папки

Типо твой пример для 2d а у меня 3d

Vlad
10.02.2018
18:26:59
Или ты имеешь ввиду, что у тебя есть коллекция условных яблок и есть коллекция корзин и тебе надо, чтобы в корзине был список (list) каких то определенных яблок

Ruslan
10.02.2018
18:29:00
Нее, корзины с яблоками в одном елементе коллекции

Но есть красная корзина которая может пригодиться отдельно

И она в той куче

Vlad
10.02.2018
18:30:14
?

Ruslan
10.02.2018
18:31:07
О, придумал

Vlad
10.02.2018
18:31:15
На самом деле лучше показать пример )) пускай из корзин и яблок )

Ruslan
10.02.2018
18:32:24
Есть два mind mapa (2 елемента коллекции, сама коллекция одна)

И у них есть общие поля

Vlad
10.02.2018
18:32:50
Так

Ruslan
10.02.2018
18:34:11
Точнее не общие просто либо делать клон (избыточность) либо ссылку

Google
Vlad
10.02.2018
18:35:29
Проще избыточность. Если ссылки, то лучше смотреть на реляционки уже. Не стоит реляционную модель переносить в монгу.

Ruslan
10.02.2018
18:36:07
Но как тогда редактировать?

Поиск всех копий?

Т.е. целесообразно?

Vlad
10.02.2018
18:41:35
В монге вполне в одной коллекции может существовать такое: {Ид:, название:, содержимое:[список], ещё какието характеристики: {уже в виде словаря}} И тут же следующий объект: {Ид, название, цвет, вкус, какой-нибудь другой список: [ ], и пару словарей:{в которых к тому же есть, например, списки}}

Ruslan
10.02.2018
18:42:15
Это я понимаю

Обычный жысон

Vlad
10.02.2018
18:42:34
А редактировать просто - ты находишь объект и меняешь или добавляешь поля )

Ruslan
10.02.2018
18:44:08
Нет, мне кажется избыточность отстой

Vlad
10.02.2018
18:45:06
Нет, мне кажется избыточность отстой
Тогда велком то постгрес )

Ruslan
10.02.2018
18:45:17
Т.к. чтобы синхронизировать все дубликаты - надо у каждого из них хранить id всех дублей

А вот хранить 1 экземпляр отдельно и ссылаться на него - логично

Vlad
10.02.2018
18:47:03
Нет, мне кажется избыточность отстой
Если нет задачи шардирования и данные все более менее структурированы, то тогда проще это всё в реляционку складывать

Ruslan
10.02.2018
18:49:45
Жисон привычней, и данные могут местами быть бинар

Max
10.02.2018
18:50:38


Ruslan
10.02.2018
18:50:59
У монги кажется больше возможностей по хранению

Vlad
10.02.2018
18:50:59
А вот хранить 1 экземпляр отдельно и ссылаться на него - логично
Тут две стороны одной медали - либо меньше места на хранение и большее время на соединение данных, либо больший объем и отсутствие джоинов

Max
10.02.2018
18:51:00
ребята, ставлю монгу в первый раз

подскажите, mkdir -p /data/db это директория для всех баз данных монго?

Google
Max
10.02.2018
18:51:33
или ее нужно в каждом проекте создавать отдельно

Ruslan
10.02.2018
18:52:26
Для всех которые прибиты к процессу

Vlad
10.02.2018
18:52:38
Max
10.02.2018
18:55:16
как можно запустить монго автоматически при каждом запуске компьютера?

Vlad
10.02.2018
18:58:31
Короче я понял, ты считаешь ссылки злом ) не смотря на их индексацию
Тут главный вопрос в том, какие запросы будут это всё вытягивать. Только от них надо отталкиваться и под них строить базу. И если вдруг запросы поменяются, то придется все перестраивать ) именно поэтому реляционка по прежнему многими так любима. Там с этим проблем нет.

Max
10.02.2018
19:07:25
ОС?
osx high sierra

Vlad
10.02.2018
19:08:03
Запросы: Найти поле Найти совпадения в данных поля
Смотри, найти поле в отдельной коллекции это первый запрос. Найти потом по его ид данные во второй коллекции это уже второй запрос. Яблоко -> ид Корзина {яблоки: [ид нужного яблока]} Проще сразу искать во второй коллекции корзину с большим красным яблоком, это будет только одно действие. Считай это в два раза быстрей. Но тогда и места коллекция будет занимать больше.

Max
10.02.2018
19:08:07
получается каждый раз перед запуском приложения нужно запускать отдельно монгу на весь компьютер?

и видимо отдельной командой еще запускать mongo shell >mongo --host 127.0.0.1:27017

верно?

на сервере понятное дело будет постоянно работать

Bandikoot
10.02.2018
19:11:27
osx high sierra
https://stackoverflow.com/questions/8065288/how-to-remove-autostart-of-apache-on-macosx

те же яйки, только в другой директории запускаемый бинарь

Max
10.02.2018
19:12:31
можно наверное через докер сделать

Google
Max
10.02.2018
19:14:24
наверное можно в iterm настроить вкладку с автозапуском монго

2 вкладки будет, одна на запуск, вторая на шел

Bandikoot
10.02.2018
19:19:36
можно наверное через докер сделать
ну тогда тебе надо будет докер в автостарт вписывать так же, как сейчас надо вписать сервер монги)

Bandikoot
10.02.2018
20:31:57
поставить монгу из homebrew
...и килять её направо-налево ;]

yopp
10.02.2018
20:32:57
её можно через brew services stop останавливать на самом деле

но я где-то это всё сломал!

John
10.02.2018
20:37:15
у меня не пашут brew services

yopp
10.02.2018
20:37:51
brew doctor

Valeriy
10.02.2018
21:37:02
Ты установил монгу и сервис запускается через systemd жи

sudo systemctl enable mongod

Zloy Dobriy
10.02.2018
22:10:45
Лол

Откуда такие кулибины беруться?

Max
11.02.2018
06:39:33
есть ли нормальные доки по mongoose на русском?

Ruslan
11.02.2018
06:47:58
есть ли нормальные доки по mongoose на русском?
https://metanit.com/web/nodejs/6.6.php достаточно?)

Max
11.02.2018
06:48:19
спасибо, как раз читаю этот док

Ruslan
11.02.2018
06:48:23
я там в целом по монге много чего вычитал

Max
11.02.2018
06:49:20
mongoose.connect("mongodb://localhost:27017/usersdb");базу usersdb нужно перед коннектом создать через mongodb, верно?

Max
11.02.2018
07:09:01
в половине доков устаревшие методы в монго

Страница 185 из 342