Савченко
Только добавил использование диска для неё, чтобы не споткнуться о лимиты на память и прочее
Hellomik
ХАй я вот пытаюсь replica Set активировать и обернуть как бы config в докер
Hellomik
ниче не выходит плачевно очень
Hellomik
Hellomik
J
Приветствую. Есть статьи, разъясняющие Explain Results? Кроме доки? Можно и видео.
Tony
Всем привет. Такой вопрос, у меня в документе есть поле типа Guid. Я пытаюсь выполнить поиск по нему в монге, но получаю null. Поиск выполняю так: var entity = await collection .AsQueryable() .Where(x => x.TypeId == typeId) .FirstOrDefaultAsync(token); При этом поиск по любому другому полю работает без проблем. В чем может быть проблема? Документ в монге точно есть и guid точно правильный
Tony
Вопрос не актуален уже. Если что проблема была с GuidSerializer У меня он был инициализирован как Standart: BsonSerializer.RegisterSerializer(new GuidSerializer(GuidRepresentation.Standart)); а надо как CSharpLegacy: BsonSerializer.RegisterSerializer(new GuidSerializer(GuidRepresentation.CSharpLegacy));
🏳️‍🌈Сель
Здравствуйте, Кто-нибудь может объяснить зачем Mongoose добавляет поле __v к каждому документу? Я понял, что это версия документа, но ято это даёт, и как это работает?
Артем
добрый день, поскажите плиз актуальную книгу по монге, чтобы полностью разобраться и с nosql в принципе и в монге в частности или только через доку?
Semeon
Господа, а подскажите пожалуйста онлайн-песочницу для написания запросов к Монге. Чтобы моковые данные можно было бы забить
Олег
Здравствуйте, подскажите пожалуйста, у меня есть поиск, тот что закомментировал он работает, но ищет среди всех, а мне нужно среди конкретных пользователей, как я написал не работает, ка сделать правильно? Спасибо)
Olga Tomakhina 💛
привет! А подскажите, кто что использует для performance tests для монго? ищу хороший тул чтобы и время замеряло и монитор был - сам запускался время от времени в прайвит сети
Eugen
Всем привет, Уже пару часов мучаюсь, и никак не могу сделать нормальный запрос в базу. Задача такая Есть маркетплейс на котором можно найти профиль бизнеса, в каждом бизнесе есть категории услуг ( category ), где в свою очередь есть услуги в этом каталоге ( service ) . Надо сделать поисковик который будет искать по названию услуги и возвращать только те бизнесы, которые предоставляют услугу ( поиск по фрагменту слова regex ) , при этом, услуги должны бать в новом поле и на высшим уровне объекта ( тобишь не в категории->услуги, а сразу в объекте как service_find : array[object]). Каталог и Сервис это поля которые содержат ObjectId[] который надо через lookup присоединять Вот сижу над этим, ну и никак такой запрос сделать не могу. Пытался через монгоос сделать, но не судьба. Может ли кто-то подсказать как сделать это ? может кто-то имеет фрагмент примера такого типа ?
Anonymous
Это не просто страшно, это невыполнимо - запись на мастере не завершится пока не вернешь data bearing node в случае majority
Anonymous
Арбитр не подтверждает операции записи в rs
🏳️‍🌈Сель
Как в определить(в блоке try-catch) Mongoose что случилась ошибка именно VersionError, а не какая-то другая?
Kос
Привет, есть «тяжелый» запрос к базе, с каждым днем количество данных растет, начала вылетать такая ошибка. pymongo.errors.ServerSelectionTimeoutError: mongodb_container:27017: [Errno -3] Temporary failure in name resolution, Timeout: 30s, Topology Description: <TopologyDescription id: 617b9f684e6b7848d7ad58e3, topology_type: Single, servers: [<ServerDescription ('mongodb_container', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongodb_container:27017: [Errno -3] Temporary failure in name resolution')>]> Как то можно это побороть? (монга крутится в докере)
Alex
все данные актуальны в бд? мб часть можно вынести в архив?
Kос
Там статистика по посещениям, для аналитики (построения графиков и тд) - по сути все актуальны
Alex
ну, смотри а ошибка то у тебя "Temporary failure in name resolution"
Alex
не в объёме данных выгребаемых запросом
Alex
очевидно из описания - апп не может разрезолвить имя сервера к которому пытается подключиться
Kос
очевидно из описания - апп не может разрезолвить имя сервера к которому пытается подключиться
ну перевод то понятен, не понятно почему, все работает, на всех (более 10) других запросах, а когда тяну «тяжелый» - вылетает ошибка
Alex
мб либа кривая - выдаёт не ту ошибку которая происходит на самом деле, мб ошибка была и до этого, но замечаешь ты её только на тяжелом запросе
Alex
надо разбираться
Kос
мб либа кривая - выдаёт не ту ошибку которая происходит на самом деле, мб ошибка была и до этого, но замечаешь ты её только на тяжелом запросе
mongodb_container_1 | {"t":{"$date":"2021-10-29T07:53:17.905+00:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"conn4","msg":"Slow query","attr":{"type":"command","ns":"short.logs","command":{"getMore":5271158582380489470,"collection":"logs","lsid":{"id":{"$uuid":"57abd101-1aa4-4aba-9ce1-c8a786f3a099"}},"$db":"url_short"},"originatingCommand":{"find":"logs","filter":{"user_id":"175306b9-0918-4512-9fad-2ed29d62b2c4","event_date":{"$gte":{"$date":"2021-09-29T23:59:59.996Z"},"$lte":{"$date":"2021-10-29T23:59:59.000Z"}},"type":{"$regex":".*poppp.*»}},»projection":{"_id":0,"data":0,"country":0,"ip":0},"lsid":{"id":{"$uuid":"57abd101-1aa4-4aba-9ce1-c8a786f3a099"}},"$db":"short","$readPreference":{"mode":"primaryPreferred"}},"planSummary":"COLLSCAN","cursorid":5271158582380489470,"keysExamined":0,"docsExamined":105094,"numYields":105,"nreturned":105088,"reslen":16777128,"locks":{"ReplicationStateTransition":{"acquireCount":{"w":106}},"Global":{"acquireCount":{"r":106}},"Database":{"acquireCount":{"r":106}},"Collection":{"acquireCount":{"r":106}},"Mutex":{"acquireCount":{"r":1}}},"storage":{},"protocol":"op_msg","durationMillis":510}} backend_mongodb_container_1 exited with code 137
Kос
вот что в логах самой монги
Alex
Exit Code 137: Indicates failure as container received SIGKILL (Manual intervention or ‘oom-killer’ [OUT-OF-MEMORY])
Kос
Exit Code 137: Indicates failure as container received SIGKILL (Manual intervention or ‘oom-killer’ [OUT-OF-MEMORY])
не хватило серверу памяти, чтобы запрос вытащить?
Alex
угу, похоже на то
Alex
ос прибивает процесс монги, а докер его заново поднимать начинает
Alex
и в этот момент ты ловишь проблему с подключением к серверу
Kос
выхода 2: 1. оптимизировать запрос (количество данных, индексы) / 2. больше памяти накинуть?)
Alex
ну да, тип того
Alex
если прям все данные тебе нужны в этой базе
Kос
ну да, тип того
понял, спасибо, буду думать)
Alex
и ты не можешь её никак шринкануть
Alex
пагинацию приделай, например
Alex
тоже может помочь
Kос
пагинацию приделай, например
ну да походу без нее никуда, там сейчас данные за 30 дней сразу тянутся
Nick
выхода 2: 1. оптимизировать запрос (количество данных, индексы) / 2. больше памяти накинуть?)
Индексы в первую очередь, сейчас у вас показывает collscan и работу со всей коллекцией, плюс у вас регулярка в запросе, так хоть по юзеру и дате быстро отфильтруете
Сароар🧑🏼‍🦱
можете помочь я создвл фаил ini-mongo.js inside вот так print('Start #################################################################'); db = db.getSiblingDB('addame_api_dev'); db.createUser( { user: 'addame', pwd: ‘password, roles: [{ role: 'readWrite', db: 'addame_api_dev' }], }, ); db.createCollection('events'); db.events.createIndex( { "coordinates" : "2dsphere" } ) print('END #################################################################');
Сароар🧑🏼‍🦱
в macbook через docker создал данних ну когда я попровал в сервар не работает 🙁
Bogdan
сарвар
Сароар🧑🏼‍🦱
вот docker-compose file @bbgdnchk services: mongo: image: mongo:latest container_name: addame_mongodb volumes: #- ~/mongodb/mongod.conf:/etc/mongod.conf - ~/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo-js:ro - ~/mongodb/data:/data/db environment: MONGO_INITDB_ROOT_USERNAME: "addame" MONGO_INITDB_ROOT_PASSWORD: "password" MONGO_INITDB_DATABASE: "addame_api_pro" networks: - production_gateway restart: unless-stopped
Сароар🧑🏼‍🦱
сарвар
digitalocen production server
Сароар🧑🏼‍🦱
@bbgdnchk можете помоч?
Bogdan
@bbgdnchk можете помоч?
я не знаю монго дб
Сароар🧑🏼‍🦱
Сароар🧑🏼‍🦱
как ришет это проблема ? /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/init-mongo-js
Anonymous
Вот почему эти гады не пишут так в доке, спасибо Борис!!!
Ярослав
А как мне изменить схему монги? Ну т.е вот у меня по дефолту стоит цена 50. А мне надо чтобы по дефолту ставилась 100
Ярослав
Надо писать миграцию которая удалит таблицу и заново создаст или как?
Alexey
Я думаю, вы путаете MongoDB и Mongoose. В MongoDB нет значений по-умолчанию
Сароар🧑🏼‍🦱
есть freelancer можете помочь через zoom пишите ЛС если можете
~<永続>~
Добрый вечер, хочу уточнить, поле role для пользователей должно содержать какую-то зарезервированную роль или может быть произвольного содержания? Будет ли это влиять на работу с конкретной базой и ее коллекциями?
Vyacheslav
Привет. А как в монге изменить ключ у всех документов? И есть ли какое-то проверенное решение? А то там 20к записей. Нужно изменить допустим: name: **** на username: **** у всех документов. Заранее спасибо. upd: .updateMany({}, { $rename: { &#39;user&#39;: &#39;username&#39; } }) почему-то не пашет.
Андрей
ты меняешь user на username, а не name
Vyacheslav
ты меняешь user на username, а не name
да это пример, там ключи другие.
Vyacheslav
там вообще ingame на inGame поменять нужно.
Vyacheslav
и оно не меняет по какой-то причине.
Vyacheslav
забавно, что inGame на ingame я поменять смог, а мне обратный кейс нужен.
Андрей
и оно не меняет по какой-то причине.
гугл же полон этим https://coderoad.ru/49491026/%D0%BA%D0%B0%D0%BA-%D0%BF%D0%B5%D1%80%D0%B5%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8%D0%BC%D1%8F-%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0-%D0%B2%D0%BE-%D0%B2%D1%81%D0%B5%D0%B9-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B8-%D0%B2-mongodb
Vyacheslav
не-а, не меняет. Да чё за бред...
Vyacheslav
ля, я не вижу, че я не так делаю.
Vyacheslav