переехал moved
Какой город?
Sergiy
Всем привет. Я использую express, mongodb, mongoose Сегодня увидел при запуске проекта вот такое предупреждение, + не отправляются запросы, хотя буквально вчера было всё хорошо и я ничего не менял)) Если вопрос тупой - извиняйте, я новачок
Sergiy
Скорее всего стоит ограничение на коннект к атласу по ip
да, наверное у меня айпи сменился. а как сменить его в mongo db?
Sergiy
f
Sergiy
а, уже нашёл)
Daniil
да, наверное у меня айпи сменился. а как сменить его в mongo db?
Если у вас динамический айпи, то лучше не ставить это ограничение
Sergiy
просто удалить его?
Daniil
Там есть у них прям кнопка «Разрешить доступ отовсюду» в настройке доступа к кластеру
Sergiy
да, вижу. Так и сделал, спасибо)
Дмитрий
Доброе утро. Я только начинаю изучать Монго, до этого работал исключительно в SQL. И тут у меня в Монго появилась задача которую я легко решил в Mysql У меня есть Пользователь, у пользователя есть добавленные какие то айтемы. То есть он как бы владелец этих айтемов. Так же есть Пользователь который может быть "партнером" данного айтема который добавил пользователь. В Mysql решал так : Users -> items У items я прописывал user_id (Владелец) Many 2 Many - Таблица partnerings а в ней user_id , item_id Каким лучше всего способом решить данную задачу ?
Leonid
Доброе утро. Я только начинаю изучать Монго, до этого работал исключительно в SQL. И тут у меня в Монго появилась задача которую я легко решил в Mysql У меня есть Пользователь, у пользователя есть добавленные какие то айтемы. То есть он как бы владелец этих айтемов. Так же есть Пользователь который может быть "партнером" данного айтема который добавил пользователь. В Mysql решал так : Users -> items У items я прописывал user_id (Владелец) Many 2 Many - Таблица partnerings а в ней user_id , item_id Каким лучше всего способом решить данную задачу ?
как минимум нужно начать с того что в nosql данные хранятся в гораздо более денормализованном состоянии вплоть до дубликатов. как максимум построить новую схему данных опираясь на возможности mondodb. с ходу вашу задачу можно решить примерно так: user: { items: [ { title: 'item1', partners: [ {username: 'vasily', user_id: '12'} ] } ] } или если итемов планируется много то развернуть схему относительно итемов item: { title: 'item1', owner: {username: 'Petrov, user_id: '1'}, partners: [ {username: 'vasily', user_id: '12'} ] }
Ilya
всем привет есть коллекция проектов, у коллекции есть shortName есть коллекция с задачами, в зависимости от проекта хочу чтобы у документа проставлялся shortName например: task-110 task-111 task-112 через какой механизм это лучше сделать? у меня была идея брать count по определенному проекту и прибавлять к нему 1, это нормальный вариант?
Ilya
о, крутая идея
Ilya
спасибо)
Ilya
type: {type: Schema.Types.ObjectId, ref: TypeModel}, как в схеме можно указать что в значении будет либо objectId либо пусто ('')?
Vladislav
Привет! А текстовые индексы можно настроить таким образом, чтоб по ним находились строки по неполному совпадению? Вот допустим есть документ с строкой "Прибытие", а нужно найти документы, которые начинаются на "приб".
Vladislav
Regex
а текстовые индексы с регулярками работают разве?
Leonid
а текстовые индексы с регулярками работают разве?
Текстовые индексы могут искать по неточному совпадению без регекса. На это у них есть вес
Андрей
Я делаю создание документа в не существующей еще коллекции так, как на скрине. В ответ мне приходит документ с значениями по умолчанию
Андрей
Андрей
А в базе пусто в документе
Андрей
Андрей
Почему в базе пустой документ, а в ответ пришел с значениями по умолчанию, то есть пустая строка?
Андрей
Daniil
да
Ну вот в его схеме вы и указываете свойства default
Daniil
Он вам их возвращает
Daniil
Чтобы получить документ в том виде, в котором он хранится в базе нужно использовать доп метод lean
Андрей
Чтобы получить документ в том виде, в котором он хранится в базе нужно использовать доп метод lean
А не подскажете как лучше создать все коллекции пустые которые будут использоваться сразу при запуске приложения? Так сказать автосоздание всех пустых коллекций.
Daniil
Они создаются автоматически при попытке взаимодействия
Андрей
Они создаются автоматически при попытке взаимодействия
А как такой кейс решить? В схеме установлены дефолтные поля(пустая строка). export const HomepageSchema = new mongoose.Schema({ logoSlogan: { type: String, default: '', }, firstSectionTitle: { type: String, default: '', }, firstSectionSubtitle: { type: String, default: '', }, firstSectionViewPortfolio: { type: String, default: '', }, }) Изначально коллекции не существует. И я хочу создать документ в этой коллекции. async updateFirstSection(updateFirstSectionHomepageDto: UpdateFirstSectionHomepageDto): Promise<IHomepage> { return await this.homepageModel.findOneAndUpdate( {}, updateFirstSectionHomepageDto, { new: true, upsert: true }).exec(); } Все вроде бы хорошо создалось, но если я updateFirstSectionHomepageDto передам как пустой объект или пару полей опишу, то мне вернется документ, но те поля которые я не описывал вообще будут отсутствовать в документе
Андрей
Daniil
В базе их и не будет
Daniil
mongoose добавляет дефолтные значения после того, как достанет исходные документы из базы
Максим
Друзья, подскажите, как создать новое поле в форме и задействовать его в базе данных?
Leonid
Можно детали?
Ivan
К кому можно обратится за помощью и консультацией по секьюрному развертыванию базы на vds? За оплату
Daniil
К кому можно обратится за помощью и консультацией по секьюрному развертыванию базы на vds? За оплату
Да на самом деле разверните базу на сервере, оставьте открытыми только порты для ssh и самой базы, разрешите подключаться к этим портам только с определённых ip (тех серверов, которые эту базу используют ну и ваш какой то личный для обслуживания), ну и используйте авторизацию хотя бы по логину/паролю и используйте юзеров/роли, чтобы у юзера, которого вы будете использовать в вашем приложении не было возможности удалять базы или вообще что ли (если это позволяет бизнес-логика), ну и конечно про бэкапы не забывайте
Ivan
@d_lebedinsky этого точно хватит?
Daniil
@d_lebedinsky этого точно хватит?
Наверняка есть ещё какие-либо ухищрения для повышения безопасности, но лично мне на всех проектах этого хватало, утечки данных не было (ну или мы не знаем об этом))
Ivan
Последние звучит конечно обнадеживающие
Anonymous
Ребята, иногда запускаю сервис с телефона, и видимо из-за dnspython и самого устройства оно не может найти днс сервер, и монго не работает. Как заставить либу монги работать?
Anonymous
Да, стоит линукс
Anonymous
Вполне экономично, когда нету малинки например
Anonymous
Причём на некоторых работает, а на некоторых нет
Anonymous
На том что работает - ругнулось в консоль, но работает
навальный
пацаны, смотрите
навальный
допустим у меня есть такой документ
навальный
и надо мне добавить 1351487118 в репост_идс
навальный
чекаю доку, вижу метод $push
навальный
делаю вроде всё как завещали
навальный
вижу в консоли принтанутый ARRAY
навальный
но ничо не изменилось, документ такой же
навальный
в чём прекол
навальный
Anonymous
делаю вроде всё как завещали
Попробуй не пуш а $set, и в item запихни или {"name": "FilmNews"} или старый айди
Anonymous
Ппц, мне сегодня на ЗНО, а я тут по монго рандомам помогаю ахаха
Anonymous
И у меня все работает
Anonymous
Правда у меня небольшая обёртка, но думаю и так понятно
навальный
?
ну вопрос про то что в список значение не добавляется
Nick
делаю вроде всё как завещали
Хз как в питонах, но операции с монгой как правило асинхронные и ваша операция апдейт скорнее всего просто не выполняется. Проверьте по докам как правильно выполнять запросы
Гена
Всем привет Подскажите, можно ли вывести через query все коллекции у которых суммарно кол-во символов всех полей+плюс самих полей превышает определённое кол-во символов?