Юрий
ага, ясно, спасибо большое)
Юрий
а добавление скипа котируется?
yopp
но в любом случае, на всю сортировку дают 32мб. Если 1 млн документов занимает больше 32мб, то только AF
yopp
Юрий
угу, понял, благодарю. пойду читать)
yopp
монге в любом случае чтоб сделать скип, надо сначала отсортировать
yopp
потому что иначе как
Юрий
ясно =\
yopp
но если у вас там сотни миллионов документов, то вам лучше схему пересмотреть
Юрий
10кк
yopp
создайте пока индекс
yopp
попробуйте аккуратно сделать дамп и проверить на боевых данных
Юрий
хорошо, сейчас попробую
Serhii
если я при Post отправлю просто текст, то как его можно получить с req.body чтобы присвоить полю ?
Stepan
попробуй использовать жквери
Stepan
но это стёб, в какое поле запроса текст вставил так и получай
Stepan
но это не имеет никакого отношения к монго
Serhii
протупил. не то сделал и начал рамсить на монго
Serhii
а как можно сделать вставку нового обьекта в такую структуру. Например есть Imagination, а я хочу еще один мир запостить. А то мне обычным сетом перезатирает worlds полностью
"worlds": {
"Imagination": {
"games": {
"game1": {
}
}
}
}
yopp
Max
Чатик, гдето я пролюбил ссылку на доку, как правильно тушить sharded cluster.
Поделитесь, плиз, у кого под рукой есть.
Пока тушу так:
- уложить mongos-ы
- уложить каждый shard через db.shutdownServer(), последний с {force: 1}
- уложить конфигсервер
поднимать в обратном порядке - сначала configserver, затем каждый шард, и после этого сверху натянуть mongos
в тестовом окружении работает, но не хочется что-то упустить.
yopp
yopp
https://docs.mongodb.com/manual/administration/sharded-cluster-administration/
Max
Спасибо!
yopp
У меня внезапно освободилось 15 часов на следующей неделе. Забукать можно или в личке или прямо вот тут: https://www.codementor.io/yopp
yopp
Второй момент, хочу завести какой-то блог или канал с советами и кейсами про монгу. О чём хотите почитать?
Bruno
Bruno
частые ошибки
Bruno
бенчмарки и сравнения с другими дб. Это звучит тупо, но хорошие технические посты помогли бы обосновать свой выбор
yopp
Бенчмарки смысла не имеют совершенно.
Hopf
Bruno
ну энивей, ты понял какая цель
yopp
Т.е. ты хочет узнать про типичные проблемы с производительностью и что с ними делать?
Bruno
короче начни с публикации вещей, которых знает минимальное количество людей кроме тебя
я бы так попросил сделать
yopp
Bruno
yopp
yopp
Alexander
а можно ли делать выборку по таймштампу, который в ObjectId хранится?
Сходу не могу придумать как такое реализовать.
То, что можно в выводе воспользоваться _id.getTimestamp() знаю
Просто стало интересна возможность пользоваться индексом по _id в случаях когда поля даты нет, а хочется получить информацию не старше какой либо даты
yopp
Bruno
Anonymous
Всем привет
Bruno
Anonymous
neprivet.ru
это было приветствие, без сопровождения вопроса
Hopf
Hopf
Hopf
хотя я сейчас, по причине обучения, иду именно по левому пути
yopp
Nickolay
Какие-то конкретные вещи интересуют? Это очень обширная тема
Да всё о чем можно поговорить на тему баз данных. Вот сейчас переживаю миграцию на новую версию приложения с немного другой схемой бд и было бы здорово наткнуться на практики, как люди с монгой это делают. Также недавно наткнулся на разную скорость работы сортировок в монге при обычной выборке и агрегации, чтобы разобраться пришлось залезть в код. Вот такие вещи можно рассказать, у тебя явно есть чем поделиться
SvPupok
бгг. нам есть что на это сказать)))))
Nick
Maxim
Всем привет!
Maxim
Я тут новеньким буду =) пишу pet project и в качестве базы выбрал mongoDB (как удивительно😃)
Maxim
Может кто подсказать как настроить авторизацию для базы? Я создал пользователя, но не могу понять как включить авторизацию, я по прежнему могу зайти в базу через Компасс
SvPupok
У тебя сингл инстанс, или репликасет?
SvPupok
https://docs.mongodb.com/manual/tutorial/enable-authentication/
SvPupok
Если совсем коротко, то добавляешь параметр —auth в старт
Vitalij
народ есть какая годная статья по написанию бота для игры игра что-то типо ммо платформер, т.е от бота требуеться бегать к игроку и атакавать различными атаками, чтобы как можно быстрей убить его
SvPupok
Vitalij
ну я думаю на js же игру кто-то да делал тут
SvPupok
Возможно тебе стоит обратить внимание на конфу джавистов. Тут как то больше аспекты бд обсуждаются.
Nick
SvPupok
Пардоньте, тут нужна помощь зала, я докер плохо знаю
Maxim
я уже не знаю куда писать =) в докер чат тоже задал вопрос, но пока тишина
Maxim
Причем докер только на локалке, на проде без докера, но страшно запускать
Maxim
хотя там всего ничего народу сидит
Nick
народ есть какая годная статья по написанию бота для игры игра что-то типо ммо платформер, т.е от бота требуеться бегать к игроку и атакавать различными атаками, чтобы как можно быстрей убить его
статьи? эм кроме как "ломаем %SOME_GAME% с помощью %TOOL_NAME%" особо не найдете, а то что есть как правило в закрытых секциях форумов. но решение есть и аж три варианта:
1. простой - делается простейший кликер мышкой, подходит для всег осупер простого. как делать - нагуглить готовый. Если знания позволяют то можно использовать тулзы для тестирования UI, там легко пишутся скрипты действий, ест ьи такие которые просто запишут ваши действия и будут их повторять.
2. средней замороченности - встраивание своего кода игру. как делать - изучаем язык на котором написан клиент, разбираемся с файлами игры и ее логикой работы, находим места куда надо добавить функционал и вуаля. здесь нужно будет почитать любые статьи о том как делаются клиент-серверные приложения/игры, чтобы понимать обую картину.
3. сложный - помимо того, что будет проделано в пункте 2, еще разбираем протокол общения и пишем реального бота эмулирующего игрока. как делать - проходим шаг 2 и дальше уже будешь знать, что делать дальше
Nick
и да это оффтоп я понимаю
Vitalij
Ну игру пишу я всю клиент и сервер поэтому ка кработает знаю) ввопрос в том что как сделать чтобы он шел в направлении нужного игрока и выберал сам чем его ударит
Nick
это уже другое и называется ИИ
Red
Что-то мне не дает покоя 1 запрос... нужно было проверить по 2 полям есть ли уже такие данные в коллекции и если нет добавить. Сделал вот так
collection.findAndModify(
{ name: arr[i], currentClient: appArg },
[],
{ $setOnInsert: { name: arr[i], currentClient: appArg } },
{
new: true,
upsert: true
},
function (err, doc) { });
но что-то оно меня смущает, да и выполняеться 50к+ раз... можно оптимальнее сделать?
Anonymous
Это чат про монго, базу данных.
Nick
Nick
дальше попрофилируйте на предмет использования индексов
Nick
ну и напоследок заверните все в bulk так сэкномите на сети
Max
как правильно подсчитать размер ключа для шарда? (Shard key size)
хочу прикинуть, какой надо размер чанка выбрать, но не могу вдуплить, как правильно этот ключ подсчитать