Alexander
Спасибо, значит откажусь от идеи с инстансами документа на всякий случай. Хотя вообще они выглядят довольно удобно.
Nick
Стоит поглядеть на транзакции, либо простроить все возможные варианты измения данных и организовать нечто идемпотентное
yopp
Коллеги, привет. У меня есть Unifi controller от Ubiquiti , в нем для хранения различной статистики используется Mongo 3.4.18, по утилизации ресурсов хост машины проблем нет, оперативной памяти из 12 гигов свободно 4, нагрузка на CPU низкая, места разделе где находится БД достаточно. В последнее время замечено что mongo.log по нескольку раз в день вываливаются сообщения вида :
2019-06-18T22:46:34.036+0300 I COMMAND [ftdc] serverStatus was very slow: { after basic: 0, after asserts: 0, after backgroundFlushing: 0, after connections: 0, after dur: 0, after extra_info: 0, after globalLock: 0, after locks: 0, after network: 0, after opLatencies: 0, after opcounters: 0, after opcountersRepl: 0, after repl: 0, after security: 0, after storageEngine: 0, after tcmalloc: 0, after transportSecurity: 0, after wiredTiger: 0, at end: 2740 }
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 31157
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65536
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Помогите понять что это за ошибка и как ее исправить ?
Это не ошибка.
yopp
Это уведомление о медленном запросе. Положите эти сообщения на графики загруженности и посмотрите, нет ли в этот момент пиков
Roman
Привет!
Подскажите, пожалуйста, где можно почитать об архитектурных решениях для mongodb?
MⅨ
Как понимать upserted?
resolver:
.findOneAndUpdate(
{
'_id': projectId,
},
{
'$pull': { 'tasks': { '_id': taskId } }
}
)
ok и lastErrorObject:
{
"ok": 1,
"errorMessage": "{\"n\":1,\"updatedExisting\":true,\"upserted\":\"5d08ece84f14172cd4d17933\"}"
}
MⅨ
Vadim
Roman
yopp
http://bfy.tw/OCL3
В этой группе не принято посылать в гугл. Это токсична практика, которая не несёт пользы участникам и только отнимает их время. Знаете где в документации ответ на вопрос — даёте ссылку на документацию. Не хотите сами гуглить, пройдите мимо.
В следующий раз r/o на месяц.
Даниил (Onix)
Друзья, всем привет. Подскажите пожалуйста, если я пишу net start MongoDB то служба будет остановлена после того как компьютер будет перезагружен или выйдет из сна?
Ну т.е. вот у меня на ноуте я набирал нет старт МонгоДБ когда-то. Сейчас захотел службу запустить, а консоль говорит что уже запущено.
yopp
Даниил (Onix)
Даниил (Onix)
хотя немного схитрили они - я нигде упоминания про это не видел... (хотя я по монге и не читал почти ничего, ради справедливости стоит сказать)
Gаrblоvian
Друзья, привет! Мне тут выдалось оптимизировать систему подписчиков, подписок и френдинга. Ни у кого под рукой нет ссылки на максимально приемлемую схему?
Нашел вот что-то такое, например. И в основном натыкаюсь на инфу, что лучше не делать френдинг в mongo 😃
Олег
подкажите куда копать
суть ситуации
создал запрос на обновление документа, выполнил, монга в ответ выдала
{ n: 1, nModified: 1, ok: 1 }
захожу в БД, а там этого изменения по факту нет
как разруливаются такие фичи?
Farik
Подскажите как правильно реализовать архитектуру (вплане создания дб колекции), только изучаю монго пока через Studio 3T сложновато)
Farik
До этого на MySQL делал
Ilya
у коллекций можно описать схему, а так каждый документ в монге может иметь любые поля которые не обязательно будут совпадать с полями в другом документе
Farik
Понял спасибо
Farik
т.е. поля визуально я могу увидеть только в схеме
Ilya
ну схему вы задаете сами, для коллеции, и если создать документ с полем которого нет в схеме то схема не поменяется.
то есть вы же проектируете сервис, почему у вас возникает потребность смотреть какие там поля?
Farik
Наверное потому-что привык)
Farik
Из за phpmyadmin
Farik
Ну с этим теперь стало намного понятнее)
Romuald
Олег
Олег
Олег
там как обычно, через set
Олег
определенное поле
Олег
Model.update({login},{$set:{rate:[...]}})
как то так
Олег
обычно монга пишет такой ответ(пример выше), когда данные действительно были изменены ... но в этот раз меня удивила
Askat
Как можно добавить поиск по keywords и вывести это в браузере . Допустим : localhost:3000/place?search=russia
Roman
приветы!
я делаю аггрегацию:
await db.models.internalStats.collection.aggregate({
$match: {
type: 'viewed_v2',
date: {
$gt: new Date().getTime() - 60 * 60 * 1000
}
}
},
{
$group: {
_id : null,
sum: {
$sum: '$count'
}
}
});
и в робомонго получаю sum, а в ноде при вызове .toArray(); просто получаю массив документов и никакого sum
Roman
как получить тот же результат что и в robo 3t?
Nick
Roman
Roman
возвращаются документы отвечающие матч
Nick
Т.е. Без стадии группиповки?
Roman
da
Nick
da
А добавьте квадратные скобки
Nick
Похоже вютолько первый матч воспр нимается как пайплайн
p
Всем привет!
Подскажите, как дамп монги в виде набора json файлов восстановить в докер контейнере с монгой. Получается только восстановить дамп сделаный с параметром —archive в один файл:
docker exec -i mongo12 sh -c "mongorestore --archive --drop" < C:\data\mongo\dump
yopp
p
p
может можно было через импорт/экспорт, но описаний не нашел в сети
Den
Alex
Unwind + group должны решить
Alex
Плюс минус так
https://code-maven.com/slides/mongodb/mongodb-aggregation-example-23
Fire Walker
Всем привет!
Fire Walker
Есть какие-то правила, с которыми надо ознакомиться?
Fire Walker
Хорошо, буду просто вежлив)
Вопрос следующий: я использую MongoDB для своих проектов, в одном из них приходится достаточно часто (ежечасно) обновлять информацию.
Информацию я получаю из json-файлов, которые формируются через питон.
Вопрос следующий: как можно обновлять специфические документы в коллекции Монго, давая на вход json-файлы (условный mongoimport для обновлений)?
Спасибо!
Dmitriy
Dmitriy
про ссылку не скажу, тут я думаю сильно может зависеть от реализации драйвера, но по идее вы же можете считать содержимое файла в переменную и передать ее в update уже как есть
Fire Walker
У меня файл может быть до 13 мегабайт и 15 тысяч строк, вопрос в надежности такого считывания.
Пока приходится сносить и перезагружать всю коллекцию
Dmitriy
хм, вопрос в том на сколько вам нужно делать заливку именно через код. выглядит так, что оптимальней будет сформировать большой файл, положить его на диск и сделать mongoimport по крону с затеранием загруженного файла.
это даст вам профит по оперативной памяти как минимум
Fire Walker
Артем
Парни, подскажите плз) хотим перевесить монгу на другой сервер, как это сделать максимально быстро? Просто скопировать папку data норм тема? Версии одинаковые
Ivan
Ivan
Если нет, то можно перенести просто, если да, то в rs.conf поменять потом данные, имя и адрес, где мембер живет
Артем
Спасибо/
Артем
Реплики нет
Den
Anonymous
господа, что за шляпа: запускаю
mongorestore.exe --drop --archive C:\Users\asa\Documents\Bugs\file.db --gzip
и ничего не происходит, оно тупо висит. Диспетчер задач показывает, что процесс mongorestore.exe использует 0 cpu
Anonymous
ок я врубился. там надо --archive=...
убейте плж
Даниил (Onix)
Ребят, тут кто-нибудь с bcrypt работал?
Почему у меня фолс?
bcrypt.compare("123", "123", function(err, isMatch) {
console.log(isMatch);
});
Alex
Alex
// Load hash from your password DB.
bcrypt.compare(myPlaintextPassword, hash, function(err, res) {
// res == true
});
bcrypt.compare(someOtherPlaintextPassword, hash, function(err, res) {
// res == false
});
https://www.npmjs.com/package/bcrypt
Даниил (Onix)
это норм что у меня в хэше передаётся так? в базе лежит шифрованным
Alex
bcrypt.hash генерит хэш
этот хэш надо передавать вторым аргументов в bcrypt.compare
Alex
Даниил (Onix)
bcrypt.compare("1234", "$2a$10$EZ.RikbIiXZ0MAHImblMO.QKPh63i71UHlS6euUx.UELrT7fIGuhy", function(err, isMatch) {\
console.log(isMatch);
});
вернул фолс