Maxmudjon
Nick
есть например profiles.schema.js внём структура всех микросервисов одна и таже
Это не микросервисы тогда, у каждого свое и не пересекающееся, а иначе это не мсы, а непойми что
Nick
понял, значит двигаюсь не туда 😓
У вас еще небось все одной бд лежит и возможно даже из разных мс в одни и теже коллекции ходите?
Nick
естественно
Хех, читайте книги и делите нормально по доменам. Начните для начал с того что один мс = одна репа/проект = одна бд
first_name
Видимо в этом проблема?
Это не проблема, это решение
Null
Это не проблема, это решение
Оказалось все просто :)
Роман
Всем привет! Подскажите пожалуйста: есть ли возможность избежать двойного запроса одновременно в коллекцию? Сделать своего рода транзакцию; прослушивать запросы в коллекцию, и если на данный момент их число > 1, то как-то это обрабатывать
Тая
Добрый вечер! Нужна консультация по оптимизации баз данных MongoDb. Нам нужно знать, как лучше всего настроить шардирование, репликацию, бэкапы, мониторинг. Или совет, кого лучше нанять для выполнения данной задачи.
Rumar
Пакет typegoose Подскажите, плиз, как с этим бороться?) В БД это свойство существует, всё ок. Типизиация не принимает)
Rumar
E1ecti⁠
и?)
Класс должен наследовать TimeStamps, по дефолту оно не знает о существовании этих полей
E1ecti⁠
как мне экстендить
// ... import { TimeStamps } from "@typegoose/typegoose/lib/defaultClasses" @modelOptions({ schemaOptions: { timestamps: true } }) class Token extends TimeStamps { // ... }
Анна
Всем привет Подскажите, здесь можно опубликовать вакансию или за это бан?
Анна
увы, но бан
Благодарю)
Шейх Манцур
Привет
Vladimir
Добрый день, подскажите , добавил в уже существующую модель 2 новых поля с дефолтными значениями, существует ли какой-то способ обновить старые записи в базе чтобы они обновились до свежеустановленных дефолтных значений, не неиспользуя updateMany()?
Артем
Валидация на уровне базы сильно снижает производительность? И имеет ли вообще смысл?
Nick
Валидация на уровне базы сильно снижает производительность? И имеет ли вообще смысл?
Смысла не имеет, за производительность не в курсе , никогда на проме не использовал
Евгений
Всем доброго времени суток. Возможно вопрос глупый, либо не понятный Использую Mongoose. В логах показывается, что к БД подключение успешно Однако, новая База Данных не создается. Как убедиться, что подключение действительно успешно и где возможна ошибка на видео?
Костяныч
#вопрос нужно на Java в MongoRepository написать метод удаление дочернего элемента из коллекции counters но удаляет весь документ материнский @Update( value = """ { '$pullAll': { 'counters': { 'user._id': ?1 } }, '$match': { '_id': ?0 } } """) long deleteCountersById(String msgId, String userId); при этом поиск дочки работает так: @Query(value = "{ '_id': ?0, 'counters.user._id': ?1 }", fields = "counters") List<LikeCounters> findCountersByIdAndUserId(String msgId, String userId);
Костяныч
так тоже работает (но нужно через репозитарии): public long deleteLikeByUserId(LikeCounters delCounters, String msgId) { Query query = Query.query(Criteria.where("_id").is(msgId)); Update update = new Update(); update.pull("counters", delCounters); UpdateResult result = mongoTemplate.updateFirst(query, update, ChatMessages.class); return result.getModifiedCount(); }
Vladimir
Нет, только явная миграция скриптами. А в чем необходимость прям в базе иметь значение?
Вообще ожидалось, что схема как раз и будет описывать поведение для записи в базе, у которой нет установленного дефолтного значения. Предполаю, возможно есть какой то параметр который можно установить для схемы, и она начнет обрабатывать несуществующее значение в базе как дефолтное?
Vladimir
Нет, только явная миграция скриптами. А в чем необходимость прям в базе иметь значение?
Да, некорректно вопрос сформулировал изначально, скорее вопрос в том, можно ли получать через схему установленное значение, если в базе в записи такого поля нет
Евгений
Хм, и всё таки. Такое чувство, будто нет подключения к MongoDB. Uncaught exception: MongooseError: Operation users.find() buffering timed out after 10000ms
wisp
Друзья, всем привет. Работаю в ноде. Подскажите, как изменить данные по следующему пути: stats.${Name[i][0]}.count Моя строка запроса: allUsers.updateOne({ vkid: context.senderId }, { $inc: { [stats.${Name[i][0]}.count]: 1 } }) В общем нужно как-то использовать "${Name[i][0]}", чтобы оно работало как переменная.
Air
Где вы проектируете структуру документа или сразу в коде? Хотелось бы удобный конструктор аля фигмы
Ящик водки
Hunter
Можете подсказать на каком сайте или апликухе можно визуально расписать базу данных?
Hunter
Может ещё знаете видео или курсы по этому
Andrey
есть какой нибудь открытый курс по работе с манго дб с нуля?
Dusky
Schroedinger's
Здравствуйте, подскажите как реализовать чтобы на сервере express mongoose получать данные по https
Асаф
всем привет. этот код почемуто отдает ошибку pymongo.errors.OperationFailure: Caused by :: WiredTigerIdIndex::_insert: index: _id_; uri: table:index-86-5630918651430210745 :: Please retry your operation or multi-document transaction.
Асаф
Скрее всего попытка вставить дубль по id в базу. Проблема в использовании метода get_or_insert
Там сначала создаётся объект, а потом есть метод save для него
Nick
Он на метод save ругается, я так понял
Сделайте логировпние этапов и проверьте. А метода save на представленном коле не вижу
Денис
Привет всем, такая ситуация - есть трехнодная монга с репликацией, имя репликасета - rs01. Нужное мне приложение не умеет в query string, но использует pymongo. Вопрос такой, если я укажу ему на вход такой connection_string: mongodb://{user}:pass@{тут список хостов через запятую}/{db} (без указания ?replicaSet=rs01), pymongo подключится к реплика сету или к одной из нод напрямую?
ㅤ
Добрый день, подскажите пожалуйста У меня в процессе создания клиент-серверное приложение: frontend: flutter backend: python, fastapi и либы Приложение из себя представляет аналитику, прогнозы с кучей графиков, бар чартов, диаграм и тд Но там так же есть система пользователей (профиль, сообщения, уведомления, дружба и тд) Как лучше организовать серверную часть в плане базы данных Для аналитики и всякого такого NoSQL, а для системы пользователей и прочего SQL базы данных? Спасибо
S
Привет, у меня есть time series коллекция со следующей схемой { timestamp: ISODate(), token: String, price: Decimal128 } Я хочу получить список всех токенов, где будет самая последняя цена, цена 1 минуту назад, цена 5 минут назад и т. д. Например: [{ token: "BTC”, price: 69000, price5M: 67000, price10M: 65000, price1H: 60000, price24H: 80000}, { token: “ETH”, price: 3000, …}] Никак не могу понять как подойти к задаче и что лучше использовать, с учетом time series коллекции. Пробовал и group и window functions. Но не могу понять. Очень прошу помощи как эффективнее всего сделать такой запрос 🙏
Slava. Sh ]ࣩࣩࣩࣩ࣯ࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩࣩ]ࣩࣩࣩࣩ࣯ࣩࣩࣩࣩࣩ
Всем привет. Недавно изучал вопрос транзакционности. Подскажите пожалуйста почему транзакции над несколькими документами не доступны на сингл сервере? В этом есть какая-то идея или это связано с тем, что у разработчиков монги не получилось их внедрить?
Asd
Существует ли Terraform модуль для развертывания монги в Google cloud?
Asd
И не лучше ли будет задеплоить MongoDB atlas на бесплатном тарифе через ансибл? https://docs.ansible.com/ansible/latest/collections/community/mongodb/mongodb_atlas_cluster_module.html
Клим
Подскажите, плиз, будет работать master - master конфигурация монги при подъезд в докер композе на двух разных тачках?
Клим
в монге нет мастер-мастер
подскажите, пожалуйста, а как можно сделать?
Клим
добиться отказоустойчивости и синхронизации двух инстансов простыми средствами, чтобы можно было прийти в один или другой инстанс и увидеть одинаковые данные
Nick
добиться отказоустойчивости и синхронизации двух инстансов простыми средствами, чтобы можно было прийти в один или другой инстанс и увидеть одинаковые данные
это называется репликасет, поднимается минимум из трех нод. Третья может быть просто арбитром, но этот вариант не рекомендуется в пром окружении. для погружения дока https://www.mongodb.com/docs/manual/replication/
Асель
Всем привет! соседний проект после восстановления из бэкапа перконы (шардированный кластер, версия 5.0) словил ошибки типа: Failed to run query after 10 retries :: caused by :: version mismatch detected get stale shard version response epoch mismatch при попытке прочитать данные из коллекции Если обращаться напрямую к шарде данные доступны Кто-то сталкивался с таким? Со стороны выглядит, что у них развалился кластер после восстановления, но они утверждают, что команды sh.status и rs.status не отображат проблем
Hunter
кто использовал moon modeler?
Егор
mongo_client: AsyncIOMotorClient = request.app.state.mongo_client db_users = request.app.state.db_users collection = mongo_client['Users']['users'] как мне сделать аннотацию на db_users аналогичную mongo_client ?
Асель
Всем привет! Может, кто подскажет У нас монго 5.0, кластер с одной шардой, растянутый на 2 цода. Конфиг серверы - 6 штук, 3 в основном цоде и 3 в резервном, в резервном одна нода с votes = 0 Шарда с данными - 6 штук, 3 в основном цоде и 3 в резервном, в резервном одна нода с votes = 0 Бывает такое, что ненадолго тереяется сетевая связь между цодами, и получаем ошибки: org.apache.kafka.streams.errors.StreamsException: Exception caught in process. taskId=0_4, processor=KSTREAM-SOURCE-0000000000, topic=production.elk.diagnostic-system, partition=4, offset=19465083, stacktrace=ru.lanit.torgi.commons.kafka.streams.errors.KafkaStreamException: org.springframework.dao.DataIntegrityViolationException: Write operation error on server mongo-config-3:27017. Write error: WriteError{code=202, message='Write results unavailable from failing to target a host in the shard rs0 :: caused by :: could not get updated shard list from config server :: caused by :: Couldn't get a connection within the time limit', details={}}.; nested exception is com.mongodb.MongoWriteException: Write operation error on server mongo-config-3:27017. Write error: WriteError{code=202, message='Write results unavailable from failing to target a host in the shard rs0 :: caused by :: could not get updated shard list from config server :: caused by :: Couldn't get a connection within the time limit', details={}}. Никак не могу понять, почему такая ошибка возникает. Если теряем ноды в резервном цод, остается большинство голосующих нод, кластер по идее должен нормально рабоатть
Alexander
Привет! Есть эндпоинт который тащит из монги около 6 гигов документов, и появилась проблема с оом. Есть ли смысл поэкспериментировать с размером батча курсора или это на него никак не повлияет?
Alexander
Оом где случается?
Во время перегонки из монги во внутренню структуру, далее уже она летит в шину кафки. Вариант оптимизации по памяти пока вижу только в монге, т.к. метод стриминговый на гошных каналах