Nick
search.id='sdfasd'
Nick
это хотя бы читаемо
Stas
search.id='sdfasd'
Это не то. Мне надо в search добавить поле, которое я передал в функцию в виде строки. Именно для этого я использую search[field] = value
Stas
Проблема не в этом, на выходе объект правильный создается
Nick
значит данных нет
RA-TA-TATA
Ребята, здравствуйте, подскажите, открывают monogod.exe и сразу же закрывается
RA-TA-TATA
что делать?
RA-TA-TATA
из-за этого не получается в Compass'e подключиться
Nick
монга запускатся в винде через службы
RA-TA-TATA
то есть?
Nick
т.е. гугли как работать со службами в винде
Руслан
Добрый день, коллеги
Где-то можно проследить прогресс выполнения команды
mongorestore dumpname.bson --archive
?
В /var/log/mongodb/mongod.log его нет
Daniil
RA-TA-TATA
Уже разобрался
RA-TA-TATA
с дисками были проблемы
Вячеслав
Коллеги, приветствую. Пришел оом, завершил монгу. после этого возникла проблема, что некоторые коллекции оказались повреждены. реплика в этот момент была отключена => на ней данных нет. Есть ли возможность точно проверить какие коллекци повреждены и верно ли я понимаю, что восстановить их состояние невозможно?
yopp
Вячеслав
Artem
Кто то тестил Mongodb на insert, или сколько максимум удавалось добиться insert/sec в колекцию +- с некоторыми индексами
Вячеслав
Возможно важно, монго шардированная
yopp
yopp
Вопрос некорректно поставлен
yopp
yopp
Вячеслав
Касаемо ошибок фиксировали подобные:
2019-04-09T15:36:33.061+0700 I COMMAND [conn1276] command dress.sessions command: find { find: "sessions", filter: { session_id: "5cac58a3d4edc6-87077955" }, limit: 1, shardVersion: [ Timestamp(122, 75), Object
Id('55e9a8367058b509c9e2e57b') ], $clusterTime: { clusterTime: Timestamp(1554798755, 128), signature: { hash: BinData(0, 6AAF1DB554B1A5C61907FDFE57BAB06D9F53918D), keyId: 6649356921855803533 } }, $configServerSt
ate: { opTime: { ts: Timestamp(1554798740, 54), t: 26 } }, $db: "dress" } exception: [dress.sessions] shard version not ok: version epoch mismatch detected for dress.sessions, the collection may have been droppe
d and recreated ( ns : dress.sessions, received : 122|75||55e9a8367058b509c9e2e57b, wanted : 0|0||000000000000000000000000 ) code:StaleConfig numYields:0 reslen:692 locks:{ Global: { acquireCount: { r: 4 } }, MM
APV1Journal: { acquireCount: { r: 2 } }, Database: { acquireCount: { r: 2 } }, Collection: { acquireCount: { R: 2 } } } protocol:op_msg 237189ms
yopp
yopp
> exception: [dress.sessions] shard version not ok: version epoch mismatch detected for dress.sessions, the collection may have been dropped and recreated
вы что-то с коллекцией делали?
Вячеслав
yopp
есть основания полагать что данные у вас повреждены. степень повреждения и возможоность восстановления, увы, оценить не возможно.
рекомендую сделать дампы используя прямое подключение к шардам, после чего перезалить эти дампы в новый шард.
проверка целостности данных будет полностью на вас и зависеть от вашей бизнес логики
yopp
грустный пример почему не стоит монгу с другими сервисами на одном хосте использовать
yopp
и почему oom и базы данных это вообще очень плохая идея
Вячеслав
Вячеслав
Вячеслав
На сервере только монго
Вячеслав
И 60гб было занято ей, но сервер не мониторился 🙈 потребление памяти росло постепенно в течении 4 дней.
yopp
версия 3.6.0 это очень старая версия
yopp
и что самое опасное это .0
yopp
там много чего было
yopp
4.0.8 (Mar 29) ◦ 3.6.12 (Apr 8)
• Плейграунд для запросов: https://play.db-ai.co
• Docs: https://docs.mongodb.com/manual/
• Learn MongoDB: https://university.mongodb.com
Stable: 4.0.8 (https://docs.mongodb.com/manual/release-notes/4.0/#mar-29-2019)
Bugfix: 3.6.12 (https://docs.mongodb.com/manual/release-notes/3.6/#april-8-2019)
Legacy: 3.4.20 (https://docs.mongodb.com/manual/release-notes/3.4/#mar-13-2019, EOL June ’19)
End of life: 3.2.21 (Sep ’18), 3.0.15 (Feb ’18)
Вячеслав
yopp
Вашей версии монго полтора года, плюс она ещё «нулевая» версия
Gor
Вячеслав
Ещё раз большое спасибо. Буду изучать продукт, выглядит интересным)
Вячеслав
$text поиск используете?
Тут не подскажу. нужно посмотреть запросы, я администратор, не разработчик, да и монго вижу в 3й раз только
Gor
проверить легко
Gor
глянь индексы на коллекции
Gor
если есть индекс fts то да как минимум точно планировали
yopp
ты в жиру написал?
Gor
у человека другие проблемы есть)
тут связано. этот нехороший индекс при выборке память дерет и всю коллекцию в память. при нехватке RAM - oom вполне возможен
yopp
в 3.6.0 чего только не было
Gor
так что если индекс не compounded то вполне реальный источник проблемы
yopp
особенно в sharded environment
yopp
да
Gor
нет, пока что сделал выписку всех связанных issues и добиваю scored поиск
Gor
вчера вот прототип для scored добил. 0.12мс выборка против 4с при сортировке по score и лимит top 20
Gor
на сложносоставном запросе, где выборка на 400к документов
Gor
yopp
yopp
Gor
@dd_bb у меня еще мысль есть переделать индекс сам, чтоб можно было больше 1го на коллекцию добавлять
Gor
и сделать вообще 2 варианта индекса - 1 заточенный под score а второй под findAll
Gor
но что радует, прототип, после выведения математической модели, таки дает 0.12мс сравнимые с sphinxsearch
Gor
для sort by score
yopp
мне кажется что отдельные типы индексов это более логично, плюс это можно параллельно тестировать
Gor
под score нужен индекс с desc score сортировкой. под findAll нужен с сортировкой по RecordId
Gor
тогда можно merge score по term(stemm) для конкретного RecordID делать быстрее и выкидывать их в advanced вверх по pipeline планировшика
Gor
+ уже сейчас видно что по памяти минимум на 1 гиг разницы на 400к документов
Gor
вообщем прогресс идет помаленьку. дня 3 убил на вывод формулы
yopp
формулы чего?
Gor
для advance (вкурсе что это или обьяснить) recordId по планировщику вверх при подсчете score по terms
Gor
если на пальцах, то оригинальный код делал выборку всех индексов, потом всех документов, потом применял на них match для запроса.
я переделал на паралельное чтение индексов по по stemm запроса. при паралельном чтении индексов которые отсортированы по score high -> low есть точка во времени когда какие бы данные с индекса еще не пришли, оно не повлияет на order документов с high score и их уже можно отдавать без ожидания дальнейшего чтения. соответственно в LIMIT plane stage данные быстрее попадут еще до конца чтения всех индексов и запрос будет завершен
Gor
вот формулу вычисления когда нужно отдавать и делал
Саша
ВСем привет, подскажите плиз, в чем может быть проблема, я ставлю монго и чтото оно зависло на етом моменте...
Anonymous
Вопрос по mongoose
Есть такой объект в бд:
{
name: 'test',
amount: 2
}
Я делаю updateOne:
updateOne({name: 'test'}, {size: 5})
В объект добавляется новое свойство (оно прописано в схеме объекта). Вопрос в том, как мне после этого удалить это свойство size когда мне это необходимо?
Anonymous
Или еще лучше: как сделать типа замену объекта, допустим я делаю так updateOne({name: 'test'}, {name: 'test', amount: 2, size: 5}) и объект становится таким как второй параметр, а если потом сделаю так: updateOne({name: 'test'}, {name: 'test', amount: 2}), то объект будет уже без свойства size