valkiki
значения соченила. суть есть CustomerId он у меня в бейз. а я хочу в uuid
Nick
valkiki
valkiki
и create run и ссылку сюда
https://play.db-ai.dev/m/ZVd8o5OT-QABSaMY/edit?key=nZyU5gLIq8E посмотри плиз у меня ошибку пишет
Nick
valkiki
valkiki
я не знаю как это парвильно кроме как uuid назвать
Nick
Nick
над подумать
Mllse
в монге вроде нет такое понятие как типизации uuid
valkiki
BsonDefaults.GuidRepresentation = GuidRepresentation.Standard; не наю поможет ли колеги такое в коде юзали на шарпах. а я не знала и сделал просто по дефолту оно и в бейз превратилось. оттого не удобно когда глазами смотришь мне хоть старое заменить надо хоть новое поле но с нормальным отображением
Nick
такс, он уже в бинарном uuid, так хранится во внутреннем представлении. Так что просто кастуйте при выборке из бд к соответсвующему типу uuid в драйвере
valkiki
valkiki
не удобно именно смотерть и искать. попросили сделать. я с девопсом таокго напридумывать ен смогла. кроме как делать отдельно миграцию перещатав базу
Nick
valkiki
я видимо тупой. я думала монга как посгря и там скрипт легко написать
Nick
valkiki
Nick
valkiki
оки спасибки всем за помощь. напишу миграцию в коде. и прекрасных выходных
Danil
Ребят, а в монго можно удалить запись автоматически через определённое время?
Юлиан🦉
Danil
Alexander
Нужно использовать перегрузку с конвейером. То есть вторым аргументом в метод нужно передать массив, а не объект.
Есть пример на Stack Overflow.
Alexander
Вместо
{
$set: ...
}
Нужен
[{
$set: ...
}]
Garik
попробовал, спасибо большое, помогло)
Alex
Привет! Подскажите плз, добавляю в БД индекс, с одним все в порядке, а другой выдает ошибку
const isExists = await collection.indexExists(`${index}_1`)
if (!isExists) {
await collection.createIndex({ [index]: 1 }, { unique: true })
MongoServerError: Index build failed: bef1d727-71ee-4f6c-ad3c-f8214470b328: Collection Test.sessions ( c609ad72-33e2-4aa3-b492-d908752e8c19 ) :: caused by :: E11000 duplicate key error collection: Test.sessions index: status_1 dup key: { status: 0 }
Alex
вывожу listIndexes() - там нет такого индекса
Nick
Nick
дубли документов
Alex
я думал unique это уникальное имя индекса)
Человек
Привет всем
Человек
Пацаны где можно научится испотльзовать эту базу данных? В ютубе чтоли есть хорошее видео?
Человек
Makar M.
Привет всем. Правильно ли я понимаю, что в монго записи после вставки попадают в журнал и буфер, и затем асинхронно сбрасываются на диск? Если в момент, пока запись в буфере я сделаю запрос на поиск этой записи, то может ли быть такое что она не найдётся пока не будет сброшена на диск?
Виктория
Кто сможет базу MongoDb создать за определённую плату?
Напишите пожалуйста
Нуриддин
Kvhqm
Mllse
Nikolay
I
Добрый день, может кто сможет подсказать в чём проблема
Нода имеет одно подключение к монге
Роут, который тестирую не делает ничего кроме запроса в бд
При нагрузке на роут 1000 подключениями коннекшн к бд начинает сильно запаздывать
Задержка цикла событий небольшая, ~30мс
Задержка ответа на запрос уже 1300мс
Как я понимаю, пул соединений полностью забит и новые запросы просто в ожидании освобождения сокета из-за чего и появляется такая большая задержка
Никакие настройки PoolSize не исправили ситуацию
Запрос не самый простой, с .populate() по id, коллекция индексирована
Nick
I
Clinic и autocannon
I
Знаю, что результат не может быть очень точным тк все идёт через одно железо одну сетевую карту и тд
Но поведение в целом из таких тестов выяснить можно
Andrey
Пытаюсь сходу найти "требования" для сервера с mongos - не могу найти, сейчас гружу в dev кластер данные (примерно 4.7 TB), 3 день, и смотрю на график потребления ресурсов сервером с mongos - суммарно, до 1 GB RAM, да и про процессору, минимально, выделил 8vCPU - там даже до 5% не дотягивает. Есть ли какие требования, где посмотреть, или как соорентироваться по требованиям к железу для mongos
Ivan
Ivan
Ivan
Danila
Что за поле <@current> в документе создаётся при set + upsert?
yopp
yopp
но в целом да, может
yopp
ещё вот: https://www.mongodb.com/docs/v7.0/core/read-isolation-consistency-recency/
yopp
Пытаюсь сходу найти "требования" для сервера с mongos - не могу найти, сейчас гружу в dev кластер данные (примерно 4.7 TB), 3 день, и смотрю на график потребления ресурсов сервером с mongos - суммарно, до 1 GB RAM, да и про процессору, минимально, выделил 8vCPU - там даже до 5% не дотягивает. Есть ли какие требования, где посмотреть, или как соорентироваться по требованиям к железу для mongos
для mongos нужено меньше ресурсов чем для остальных нод, так как они не хранят данные, а только собирают и обрабатывают из с других нод. в зависимости от вида нагрузки, mongos могут быть cpu bound, если там много мержей или агрегаций.
по памяти требования это примерно количество одновременно обрабатываемых запросов × размер буффера под эти запросы + размер коллекции с сессиями + размер карты шардов + размер буфферов под соединения + размер буфферов под служебную информацию 🙂 но теоретически угадать не получится, лучше смотреть на практике
в целом под mongos нужно не самое требовательное железо
yopp
отмечу что на write-only нагрузке профиль нагрузки не совпадает с read/write, так как mongos просто маршрутизирует записи по шардам, а это очень дёшево
Andrey
Магомед
Добрый вечер. На картинке изображены БД моего атлас кластера. Все эти БД активно используются. Скажите, может ли такое большое количество БД замедлять работу серверов, который используют этот кластер? Много БД в одном кластере - это плохо? Могу ли я создавать сколько угодно бесплатных кластеров? Для каждого проекта нужен свой кластер?
aliwka
Добрый вечер!Я новичок, и я пытаюсь разобраться с базойй данных. Тут вроде я создал хост но теперь как его можно подключить к сайту? Не могли бы вы подсказать или же поделиться с видео где обьясняют это?
Kenya-West
Что не так с
this.invoiceFullModel.aggregate([
{ $match: { external_id: { $in: objectIdArray } } }, // Match the provided InvoiceFull IDs
{
$lookup: {
from: Collections.Contracts,
localField: 'contract_external_id',
foreignField: 'client_external_id',
as: 'contract',
},
},
{ $unwind: '$contract' },
{
$lookup: {
from: Collections.Persons,
localField: 'contract.client_external_id',
foreignField: 'external_id',
as: 'person',
},
},
{ $unwind: '$person' },
{ $replaceRoot: { newRoot: '$person' } },
]),
Постановка задачи: даны айдишники invoiceFull'ов в массиве objectIdArray, по каждому надо получить по contract_external_id запись Contract, внутри него глянуть client_external_id и вытащить, наконец, модельку Person в ответе.
invoiceFull.contract_external_id -> Contract.client_external_id -> Person
Проблема в том, что по итогу выдаёт пустой массив. Пытался сократить цепочку и хотя бы получить Contract по ид InvoiceFull - тот же результат.
NestJS, MongoDB, mongoose
Магомед
Kvhqm
Kvhqm
А это пипец как важно
C
MongooseServerSelectionError: connection 569 to 116.116.116.116:27017 timed out
Вот такая штука переодически происходит, теряется связь с БД. При этом оба сервера вроде как стабильно работают. Простой перезапуск самой апки на ноде решает проблему. Кто может подсказать, как бы этот перезапуск автоматизировать либо же подкрутить конфиги подключения/образа бд
Nalik
Привет парни)
А что лучше и быстрее, использовать select или проекцию?
await db.ChatsUser.findOne({ user_id: socket.user.user_id, chat_id: chat_id, leave_time: 0 }, {chat_read_time : 1})
await db.ChatsUser.findOne({ user_id: socket.user.user_id, chat_id: chat_id, leave_time:0 }).select('chat_read_time')
Nick
Nalik
Это одно и тоже
Что результат один и тот же я понимаю, может под капотом в одном случае какие-то проверки есть и оно выполняется дольше, в другом случае нету.
Но по крайней мере опытным путем разницы я не заметил)
Nick
Nalik
Понял, спасибо)
Dmitry
Добрый день. Подскажите, документ с полем какого типа данных будет быстрее всего возвращать метод find()? При условии, что для этого поля создан индекс
Nick
The_Immortal
Ребят, подскажите, пожалуйста, на show dbs ничего выводит, хотя базы есть - почему так может быть?
Подключаюсь из-под рутовской системной учетки просто через команду mongo (пользователь и пароль неизвестны). Хотелось бы обойтись как-то без сброса пароля.
Просто непонятно mongo вообще что делает и в качестве кого подключает?
Версия 4.5.6.
Nick