Egor
интересно, теперь буду знать так и еще тогда
Egor
а вообще, нужно как-то кешить монгу?
Egor
или не?
Nick
зависит от случая
Egor
я просто думал монга немного умная и может сама это делать...иногда
Nick
можно хранить в монге терабайты, а работать с десятком гигов - тогда можно
Nick
но вообще обо всех таких "оптимизациях" надо адумываться когда уже чтото тормозит
Egor
а на сервере есть смысл стейт дублировать?
Nick
иначе на первых парах добавленная сложность может стать большей проблемой чем мифический прирост производительности в будущем
Nick
опять же зависит от случая
Egor
не спорю, оверхед может вообще выйти за рамки дедлайна))
Nick
все решения принимаются изза необходимости, а не просто захотелось
Egor
ну да, ну к примеру часто очень стучаться в базу нее хочется, взял, провалидировал стейт на сервере, если не совпадает6 пошел в базу
Nick
если вы сейчас знаете, что надо хранить оч мног оинфы, при этом рабочий набор данных требует какихто манипуляций по всему что есть (агрегаты всякие, таблицы рейтингов и т.п.) то да иеет смысл
Nick
ну да, ну к примеру часто очень стучаться в базу нее хочется, взял, провалидировал стейт на сервере, если не совпадает6 пошел в базу
в программировании есть только две пробелмы: 1 - инвалидация кеша 2 - подбор имен переменных (с)
Egor
=)
Nick
и это так
Nick
вот прямо сейчас у нас на проекте будет использоваться хибер со своим умным кешем, но работас базой будет происходить из нескольких приложух (знаю что хибер тут так себе) и вот у нас уже ест ьпробелма инвалидации этого гребанного кеша
Nick
а мы даже не начали ничего делать
Nick
если все находится в одной приложухе, то почему бы и нет
Egor
ну что, удачи с проектом, все проинвалидируешь :D спасибо за помощь)
yopp
100-150 человек в день
Делайте как быстрее разрабатывать
yopp
Даже если эти 150 человек будут одновременно читать что-то на сайте, очень маловероятно что у вас даже 20 запросов в секунду будет. Учитывая что у вас там не будет миллионов комментариев, производительность ваша самая последняя проблема.
Anonymous
Человек не виноват, что у него такое имя
Anonymous
Может кто-то делал что-то похожее?
Sergei
если ты не знаешь, то лучше не проектировать
Anonymous
если ты не знаешь, то лучше не проектировать
Я видимо неверно сформулировал вопрос. но спасибо, уже понял что лучше взять SQL
Sergei
тоже не факт
Anonymous
тоже не факт
Там связей много будет. В SQL придумал как сделать. в Монго - нет
Anonymous
похожее на что?
Сорри. Стер уже сообщение. Похожее на сервис расписания поездов
Мечтатель
Там связей много будет. В SQL придумал как сделать. в Монго - нет
Если orm заюзать, то и связи не страшны в nosql
ㅤㅤㅤㅤㅤ
#ask How to fix this error?
yopp
#ask How to fix this error?
This is MongoDB community, not JS one. Try here https://t.me/joinchat/AAAAAEEU-CGtxqPvZzRXug
Pavel 🕷
ребята, тут есть просженые носклщики? интересует mongo vs cassandra на текущий момент времени, не холивара ради, а фидбека для
yopp
две разные базы данных, с совершенно разными подходами
yopp
сравнение субд в отрыве от конкретного применения бесполезны
Slava
да, два разных мира. скажите хотя бы для каких целей\задач выбираете бд
Pavel 🕷
нужна отказоустойчивоемость и индексы внутри обьекта по нескольким полям
Pavel 🕷
шардинг внутри реплики, реплики возможны в разных датацентрах
yopp
вы сейчас про требования к субд уже говорите
Slava
я больше имел ввиду какой тип нагрузки, write\read, как много данных, rps и все в таком духе
yopp
а вы про свою предметную область расскажите
Pavel 🕷
наверно тут монгу лучше взять, потому как в кассандре индекс примари только
Egor
я конечно не шарю, но бывали случаи, когда в проекте оказывалось до 3 разных баз и больше?
Pavel 🕷
а вы про свою предметную область расскажите
массовое ботостроительство с аналитикой и статистикой
yopp
продакшен системы бывают и сложнее
Pavel 🕷
тобишь мессенгеры, текст кол-во и все такое
Slava
Slava
у кассандры дорогое чтение, очень
Pavel 🕷
какой вердикт?
yopp
берите то, с чем опыта больше
Pavel 🕷
с монгой больше
Slava
тогда вы сами ответили на вопрос)
yopp
значит берите её. судя по всему, у вас ещё нет пользовательской базы, так что вам лучше потратить ресурсы на то, чтоб быстрее доставить mvp
yopp
и собрать фидбек
Pavel 🕷
тогда вы сами ответили на вопрос)
хотел мнения спросить) одна голова хорошо, 748 лучше))
Pavel 🕷
спасибо)
Egor
не работает compound index в subdocument-массиве { bar: String, foo: [{ a: String, b: String }] } schema.index({ 'foo.a': 1, 'foo.b': 1 }, { unique: true }} когда добавляю документ с помощью push/addToSet дубликаты все-равно добавляются кто знает как решить?
Egor
@dd_bb Mongoose: paper.findAndModify( { _id: ObjectId("5af761303e34a19ad48be03e"), user: ObjectId("5af72a522f2dbc92d7d23c52") }, [], { $setOnInsert: { __v: 0 }, $push: { rating: { _id: ObjectId("5af766739f45ec9b136aecd9"), user: ObjectId("5af72a522f2dbc92d7d23c52"), reaction: "test" } } }, { runValidators: true, new: true, upsert: true, remove: false, fields: {} } ); если правильно понял, то вот
Egor
кстати, нашел такой солюшен, он нормальный? https://github.com/Automattic/mongoose/issues/2226#issuecomment-226634928
Egor
ну да, я и скинул отчет выше какой есть
yopp
ну да, я и скинул отчет выше какой есть
Это информация о самом запросе, а требуется информация о метриках в процессе выполнении запроса.
Egor
http://thecodebarbarian.com/whats-new-in-mongoose-4.10-unique-in-arrays.html еще солюшен жалко только, что на апдейт не пашет
Vadim
Есть какой нить учебник по монго для новичков желательно на русском?
Egor
советую сразу взять проект и параллельно решать проблемы, которые возникают
Egor
ну я и таких чуваков видел, нормально все, фигачили покруче сеньеров
Egor
arrayFilters пашет у кого?
Egor
у меня для массивов двойной вложенности не пашет
Egor
профиксил с помощью явного указания ObjectId
Amir
хм. а если у меня результат выборки вот такой [{'out': [{'script': {'name': ['v1']}}, {'script': {'name': ['v2']}}]}] а мне нужен только массив вида ['v1', 'v2'] - как это реализовать без боли?
Amir
собственно сама выборка: find({}, {'_id': 0, 'raw.out.script.name':1})