Ruslan
Точнее не общие просто либо делать клон (избыточность) либо ссылку
Vlad
Проще избыточность. Если ссылки, то лучше смотреть на реляционки уже. Не стоит реляционную модель переносить в монгу.
Ruslan
Но как тогда редактировать?
Ruslan
Поиск всех копий?
Ruslan
Т.е. целесообразно?
Vlad
В монге вполне в одной коллекции может существовать такое:
{Ид:, название:, содержимое:[список], ещё какието характеристики: {уже в виде словаря}}
И тут же следующий объект:
{Ид, название, цвет, вкус, какой-нибудь другой список: [ ], и пару словарей:{в которых к тому же есть, например, списки}}
Ruslan
Это я понимаю
Ruslan
Обычный жысон
Vlad
А редактировать просто - ты находишь объект и меняешь или добавляешь поля )
Vlad
Ruslan
Нет, мне кажется избыточность отстой
Vlad
Ruslan
Т.к. чтобы синхронизировать все дубликаты - надо у каждого из них хранить id всех дублей
Ruslan
А вот хранить 1 экземпляр отдельно и ссылаться на него - логично
Ruslan
Жисон привычней, и данные могут местами быть бинар
Anonymous
Ruslan
У монги кажется больше возможностей по хранению
Anonymous
ребята, ставлю монгу в первый раз
Anonymous
подскажите, mkdir -p /data/db это директория для всех баз данных монго?
Anonymous
или ее нужно в каждом проекте создавать отдельно
Ruslan
Для всех которые прибиты к процессу
Vlad
Ruslan
Anonymous
Anonymous
как можно запустить монго автоматически при каждом запуске компьютера?
Vlad
Короче я понял, ты считаешь ссылки злом ) не смотря на их индексацию
Тут главный вопрос в том, какие запросы будут это всё вытягивать. Только от них надо отталкиваться и под них строить базу. И если вдруг запросы поменяются, то придется все перестраивать ) именно поэтому реляционка по прежнему многими так любима. Там с этим проблем нет.
Ruslan
Ruslan
Редактировать
Bandikoot
Anonymous
Vlad
Запросы:
Найти поле
Найти совпадения в данных поля
Смотри, найти поле в отдельной коллекции это первый запрос. Найти потом по его ид данные во второй коллекции это уже второй запрос.
Яблоко -> ид
Корзина {яблоки: [ид нужного яблока]}
Проще сразу искать во второй коллекции корзину с большим красным яблоком, это будет только одно действие. Считай это в два раза быстрей. Но тогда и места коллекция будет занимать больше.
Anonymous
получается каждый раз перед запуском приложения нужно запускать отдельно монгу на весь компьютер?
Anonymous
и видимо отдельной командой еще запускать mongo shell
>mongo --host 127.0.0.1:27017
Anonymous
верно?
Anonymous
на сервере понятное дело будет постоянно работать
Bandikoot
Bandikoot
osx high sierra
https://stackoverflow.com/questions/8065288/how-to-remove-autostart-of-apache-on-macosx
Bandikoot
те же яйки, только в другой директории запускаемый бинарь
Anonymous
можно наверное через докер сделать
Anonymous
наверное можно в iterm настроить вкладку с автозапуском монго
Anonymous
2 вкладки будет, одна на запуск, вторая на шел
yopp
yopp
её можно через brew services stop останавливать на самом деле
yopp
но я где-то это всё сломал!
Ivan
у меня не пашут brew services
yopp
brew doctor
✙
✙
Ты установил монгу и сервис запускается через systemd жи
✙
sudo systemctl enable mongod
Zloy-Dobry
Лол
Zloy-Dobry
Откуда такие кулибины беруться?
Anonymous
есть ли нормальные доки по mongoose на русском?
Anonymous
спасибо, как раз читаю этот док
Ruslan
я там в целом по монге много чего вычитал
Anonymous
mongoose.connect("mongodb://localhost:27017/usersdb");базу usersdb нужно перед коннектом создать через mongodb, верно?
Ruslan
Anonymous
в половине доков устаревшие методы в монго
Анатолий
Базу можно не создавать, монга сама создает базу после первой операции
SvPupok
как только ты говоришь use databasename по факту, монга начинает использовать новую бд, даже если ее не было как таковой
Anonymous
Привет.
Если использую нативный драйвер, считается ли нормальной практикой открытие соединения к БД перед запросом и закрытие после?
Или же лучше при инициализации приложения один раз подключиться и далее прокинуть глобальный объект БД в нужные места?
Читал, что монга может периодически отваливаться, ну и опять же - не те объёмы данных, чтобы стараться сильно экономить время на процедуре открытия/закрытия соединения с БД.
Dmitry
Доброго времени суток.
Dmitry
Можно ли для документов в массиве указывать _id ?
Ruslan
Dmitry
Ruslan
визуально без разницы, а вот есть ли преимущества у данных типа ObjectId - хз
Ruslan
одно уж точно
ObjectId - не заморачиваешься и он уникален
строковый - а вдруг уже есть такой?
✙
Мечтатель
Мечтатель
Хотя, может уже доработали уникальность. Не следил внимательно за изменениями
Ruslan
CC-BY-SA-4.0/Docker-ce30.0
чо
CC-BY-SA-4.0/Docker-ce30.0
спеку по objectId почитайте плёс