StaniFe
понятно
StaniFe
ок
StaniFe
спасибо
Sardor
https://www.mongodb.com/blog/post/paging-with-the-bucket-pattern--part-1
Sardor
Skip and limit не так уж масштабируется
StaniFe
Как часто возникает необходимость открывать 3000 страница)
Обычно как раз открывают первые и очень часто последнию и тут возникает вопрос ограничить или оптимизировать )
Nick
Можно попробовать делать выборку с обратной сортировкой
Nick
Но нужно както отслеживать что страница уже ближе к концу чем к началу
Андрей
Можно в монгусе и как это сделать? Есть модель HomepageModel у нее будет поле customerFeedback которое просто ссылается на другую модель CustomerFeedbackModel. Что бы когда я получил homepage мне по ссылке сами customerFeedback отдались
Евдоким
Можно в монгусе и как это сделать? Есть модель HomepageModel у нее будет поле customerFeedback которое просто ссылается на другую модель CustomerFeedbackModel. Что бы когда я получил homepage мне по ссылке сами customerFeedback отдались
Насколько я знаю силами монго такое сделать нельзя, но некоторые дравера для монго предоставляют возможность вытягивать документ из другой коллекции по id, например так можно с mongoose (для node js)
Андрей
Спасибо, подумаю как можно сделать
Alikhan
привет как в монго сделать так чтоб он принимал запросы только с моего ip адреса?
Alikhan
в терминале посмотрел свой ip адрес и вбил в монго но не находит если вбить 0.0.0.0/0 все работает
Alikhan
бл вот я тупой
Alikhan
спасибо нашел
Андрей
Почему может документ не пушиться в массив ?
Андрей
Что бы добавить в массив customerFeedback я придумал такое решение, но не работает { "$push": { 'customerFeedbackSection.$.customerFeedback': newCustomerFeedback } },
Андрей
Интересный глюк. В Robo3T customerFeedback это массив с объектами, а в постмане массив массивов
Андрей
Андрей
class CustomerFeedbackSection { @prop() sectionTitle: string @prop({ ref: CustomerFeedbackModel }) customerFeedback?: Ref<CustomerFeedbackModel>; } export class CustomerFeedbackModel { @prop() description: string @prop() customerName: string @prop() fromWhereTheCustomer: string @prop() methodOfCommunication: ItemMethodOfCommunication[] } ссылочное поле customerFeedback должно ссылаться на документы из коллекции CustomerFeedbackModel , я как думал, что бы использовать populate нужно явно указать ref и просто сохранять документы через CustomerFeedbackModel и через populate получать их, так ли это ?
akbarov
Здравсвуйте! Извините как я могу выбрать запись "123456789"? Добавляю его так: coll.save({"12345679": {"message_id": 76, "like": [], "dislike": []}}) В интернете прочёл про метод find_one() но выражения ввиде: res = coll.find_one({"987654321": "Object"}) и даже res = coll.find_one({"987654321"}) Выводит None, что я делаю неправильно? Заранее спасибо за вашу помощь!
Алексей
В вопросе id это "123456789" при сохранении "12345679", а при запросе "987654321". Я чего-то не понимаю?
Bogdan
Привет, как нужно сохранять документы чтобы потом делать выборку документов которые старше 2 минут, чтобы не было проблем со смещением часовых поясов?
Nick
Привет, как нужно сохранять документы чтобы потом делать выборку документов которые старше 2 минут, чтобы не было проблем со смещением часовых поясов?
Сохранение в utc или или локпльном серверном времени, приведени к тому же часовому поясу времени запроса клиентов. Выборка обысная по дате
Алексей
Всем привет. Впервые работаю с бд. Есть ссылка mongodb+srv://*********:<password>@*************/<dbname>?retryWrites=true&w=majority в dbname нужно вписать название кластера?
Алексей
или название + регион с бд?
Nick
Всем привет. Впервые работаю с бд. Есть ссылка mongodb+srv://*********:<password>@*************/<dbname>?retryWrites=true&w=majority в dbname нужно вписать название кластера?
вам нужно создать именно базу данных внутри кластера монги и это название подставит ьвместо dbname
Алексей
Правильно?
Алексей
useUnifiedTopology: true Что дает данный ключ?
Nick
Правильно?
по виду правильно
Anonymous
делает ошибку в команде mongod, что это может быть?
Андрей
Подскажите какая цель у @Prop декоратора, и без него все работает?
Андрей
Ну то есть цель понятна, но не понятно что будет если не определять свойство через декоратор
Anatoly
/report товарищу плохо без компутера
no
/report товарищу плохо без компутера
Потом он купет кампуктер и будет учить монгу и задавать тут вопросы лучше не стоит переводить ему деньги
Vened
ось Centos 8, Mongodb 4.2.5, репликасет из трёх нод Столкнулись со следующей ситуацией: после ребута любого из серверов сервис mongod на нём стартует и выглядит живым, но нода при этом не возвращается в репликасет. rs.status() говорит, что у неё параметр state: 8 (DOWN) Лечится обычным systemctl restart mongod - нода возвращается в репликасет и продолжает работать. Грешим на конфигурацию монги. Никто не сталкивался с подобным? Не подскажете, в чём может быть причина подобного поведения?
Георгий
Всем привет, хочу сохранить объект в базе такого вида { "foo.bar": "text" } Ошибка падает что типо не может принять ключ как foo.bar
Roman
Нельяз точку использовать в имени поля
Георгий
Значит лучше заменять точку на другой символ, да?
Joe
Значит лучше заменять точку на другой символ, да?
Да. Т.к. Точка будет работать при кверях как вложенность (как в свойствах объектов)
Георгий
Окей понял))
Георгий
Спасибо за ответ))
Георгий
Такой еще один вопрос, насколько большой может быть объект? Ну типо тысячу ключей или больше)) Это норма?
Joe
Такой еще один вопрос, насколько большой может быть объект? Ну типо тысячу ключей или больше)) Это норма?
Если вопрос про ограничения монги, то зависит от железа. А если про архитектуру, то за это люлей можно отхватить. Причем как от сервака, так и от сеньора
Георгий
Короче говоря там объект со значениями, по сути этот объект будет расширяемым потому что на стороне фронта будет редактор текста. И типо непонятно как это хранить, объектом или это превращать в строку и хранить так.
Георгий
Просто если как объект то легче разрешить ситуацию с редактированием данных разными пользователями, а если строкой, то придется каждый раз вытаскивать всю строку, менять, и потом перезаписывать это все.
Георгий
Мне поэтому и нужен совет)) Нет опыта чтобы оценить такие задачи)) Сразу говорю это чисто мой проект, поэтому нет каких-то правил сверху от начальства)) Просто нужен дельный совет как лучше это сделать, чтобы потом не рефакторить))
Георгий
Объект будет одинакового уровня вложения, то есть вложенность не будет расти, просто будет увеличиваться количество ключей с одной и той же структурой
Joe
Короче говоря там объект со значениями, по сути этот объект будет расширяемым потому что на стороне фронта будет редактор текста. И типо непонятно как это хранить, объектом или это превращать в строку и хранить так.
Забудь про конкатенацию в строку. Это же ДОКУМЕНТНАЯ БД. Все крутится вокруг документов. А чтобы не было 100500 полей в 1 документе, раздробить нужно свойства по нескольким докам. Так при чтении тоже нагрузка уменьшится
Joe
Объект будет одинакового уровня вложения, то есть вложенность не будет расти, просто будет увеличиваться количество ключей с одной и той же структурой
Ну это уже попахивает "я sqlщик, но попросили на монге" Раз все будет горизонтально на 1 уровне. То юзай смело sql(pg/mysql/другое что вспомнишь)
Joe
Окей)) Но насчет разбивки никак не получится)) Там нельзя такое сделать))
Уверен? Я же говорю разбивать не текст с клиента на части, а значения полей в объекты. Если утверждаешь, что никак не разделить, значит плохо представляешь свою архитектуру. Мне подсказали сесть, нарисовать ручками без кудахтера и так поискать решение, когда я сделал на работе такое заявление. Помогает. Иногда много идей приходят
Георгий
Ну это уже попахивает "я sqlщик, но попросили на монге" Раз все будет горизонтально на 1 уровне. То юзай смело sql(pg/mysql/другое что вспомнишь)
sql не подойдет, там поля разные все равно будут😂😂😂 Ладно сложно объяснить проект, но часть инфы я получил)) Спасибо))
Joe
Неее я вообще не работал с реляционными базами) Сам фронтендер, но пишу и бэк))
Я тоже бывалый фронт. Но sql надо максимум понять. А с orm тебе даже не придется думать. Для тебя в коде все как объект будет выглядеть
Георгий
Именно проблема с базой данных, как это сделать там правильно не знаю))
Георгий
Насчет строки понял что это бредовая идея и услышал подтверждение.
Joe
Тогда для начала посиди пару часов с чаем, нарисуй (например draw.io а лучше на листе) схему данных и кидай, на разбор. Так и остальным приятней и удобнее будет помогать
Георгий
Переход на реляционную базу будет сложным, потому что мне как раз и нужно работать с документами(объектами) в чистом виде
Георгий
Дело же не в том что я ничего не понимаю)) Мне нужен был ответ, я получил)) Зачем меня учить другим вещам?)) Просто нужен был ответ могу ли я хранить огромный объект))
Joe
Понял. Да я не учил) просто совет на будущее. Касательно проблемы, круто что решил)
Георгий
Ну ладно)) Просто недопонимание))
Георгий
Просто проект нестандартный)) Поэтому и тяжело понять с какой стороны взяться именно на уровне базы, а так по сути как думал так все и подтвердилось))
Denis
Объясните плиз, беспатно этот оператор с обычной монгой нельзя юзать? Требуется что то из платной ентерпрайз монги? https://github.com/mongodb/mongodb-enterprise-kubernetes
Anonymous
Через что раздавать аватарки юзеров из GridFS по http? Самому приложение писать, чтобы вытаскивало из GridFS и отдавало по http?
Andrey
/stat@combot
js - one love
например есть user = { name: Some lastname: Some datas: { a: 5 b:6 } } как в монгусе делать так чтобы возвращался: user = { name: Some datas: { b: 6 } }
Георгий
Нужно почистить ответ через $project
Nick
например есть user = { name: Some lastname: Some datas: { a: 5 b:6 } } как в монгусе делать так чтобы возвращался: user = { name: Some datas: { b: 6 } }
в монгусе думаю никак, т.к. он вытаскивает всегда доки целиком. Подготавливайте пересобирайте док перед отправкой на клиент