Гена
типа с 1 до 999
Nick
указать интервал значений?
никак, нужно указывать полный путь
Nick
или у вас цифры это индекс массива?
Гена
ну это же крайне тупо)) простите) у нас есть коллекции с сабполе и в нем еще есть значение) у нас есть поле 1 в котором есть много саб полей и в каждом сабполе есть поля со значениями. Нужно вытащать одно значение.
Nick
если же у вас такое сложное дерево - то опять же проблемы проектирования и как следствие нужно будет указывать все пути
Nick
можете использовать транформацию объекта в массив и уже потом удобно фильтровать
Nick
https://docs.mongodb.com/manual/reference/operator/aggregation/objectToArray/
Гена
мде ну ладно) спасибо большое)
Nick
если бы это от меня зависело))
донесите эту информацию до разработчиков/руководства
Гена
Спасибо
Tatiana Belozub
Именно с таким json он просто не создается
Tatiana Belozub
{ "issns.0.source": 1 } - вот так вот еще пробовала. так он создается, но из-за ковычек он считает это самым обычным индексом, не multikey
Nick
что подразумеваете под multikey?
Tatiana Belozub
{"issns.source":1}
вот так кст тоже пробовала, но для него это получается одно поле
Tatiana Belozub
ну типо он будто просто считает что это имя записанное через точку
Tatiana Belozub
а не значение значения
Tatiana Belozub
или я что-то путаю?
Nick
все он правильно понимает
Nick
используйте explain для того чтобы убедитсья что на ваших запросах начал использоваться этот индекс
Nick
https://docs.mongodb.com/manual/reference/method/cursor.explain/
Tatiana Belozub
https://docs.mongodb.com/manual/reference/method/cursor.explain/
Спасибо большое)) Извините, что я тут такой нубасик)))
Tatiana Belozub
ничего страшного, все такими были
а можно последний вопрос и я отстану?)) Я бы не хотела руками индексы создавать, и поэтому пытаюсь монге инструкцию скормить. У меня коллекция называется fsta-normalized, база spdb, создаю индекс: db.fsta-normalized.createIndex({issns.source: 1})в доке нашла пример и сделала по нему: db.myColl.createIndexhttps://docs.mongodb.com/manual/indexes/#create-an-index
Nick
все верно
Nick
не знаю только как насчет поддержки дефисов в именах
Nick
если не заработает можно через db.getCollection("name").createIndex...
Tatiana Belozub
Tatiana Belozub
и до этого то же самое было
Nick
issns.source в кавычки возьмите -> "issns.source"
Tatiana Belozub
Tatiana Belozub
db.getCollection("fsta-normalized").createIndex( {"issns.source": 1} )
Nick
где запрос выполняете?
Tatiana Belozub
где запрос выполняете?
robo 3t - если говорить о клиенте
Semyon V
Кто-нибудь сталкивался с утечкой памяти в 4.2.8?
yopp
Кто-нибудь сталкивался с утечкой памяти в 4.2.8?
почему вы считаете что это утечка?
Semyon V
потому что как только заполнится своп сервер ляжет
Semyon V
если я его ручками раньше не порестартую
Semyon V
разрыв на первом графике — это я ручками перестартовал сервер
Nick
а если через цикл?
ну путь то придется всеравно прописывать на каждый запрос
Гена
ну написать цикл, чтоб од прописывал цифры по очереди
Nick
robo 3t - если говорить о клиенте
попробуйте через mogoshell из консоли
Гена
с 1 до 999
yopp
потому что как только заполнится своп сервер ляжет
проверьте что wt cache size в конфиге совпадает с тем, что реально доступно монге
yopp
плюс убедитесь что у вас нет больших запросов мимо индексов
Гена
я пытаюсь через Bash цикл написать, но eval не хочет кушать мою переменную в bash
Semyon V
плюс убедитесь что у вас нет больших запросов мимо индексов
с индексами у меня вечно какие-то проблемы. и я удивлён что это может влиять на утечку памяти
yopp
это не утечка памяти
Semyon V
особенно удивительно что и на реплике
yopp
монга выделяет себе память не просто так, а потому что она ей нужна на выполнение запросов
Semyon V
дык а на реплике какие запросы выполняются?
yopp
судя по всему, у вас там кроме монги есть ещё какие-то сервисы или монга в контейнере и из-за этого реальный доступный объём памяти не соваадает с тем, который получает монга и выделяет больше чем памяти доступно
Semyon V
всё так. как временное решение ограничить ей память сработает?
yopp
да, установить https://docs.mongodb.com/manual/reference/configuration-options/#storage.wiredTiger.engineConfig.cacheSizeGB в 50% от реально доступной памяти
Tatiana Belozub
попробуйте через mogoshell из консоли
Спасибо =) Я кажется нашла в чем дело было)) меня смущало, что мы не указываем, какая база. В итоге я вписала верху ещё use mydb, и как минимум, для смежной таски у меня создались коллекции, скорее всего ща дободаю и эту тасочку
Viktar
добрый день, подскажите могу ли я в двух курсорах на одной колекции делать апдейты. мне надо проапдейтить все записи в двух разных скриптах. Но пока у меня работает скрипт 1, скрипт 2 не может делатть апдейт
Илья
допустим есть коллекция которая содержит такие объекты {"keyword": "привет"} пользователь в приложении вводит например "фaцфаприветца", есть какие-то варианты средствами монги сделать запрос который по этой строке найдет вышеуказанный объект?
NCR
Илья
Илья
Илья
Anatoly
допустим есть коллекция которая содержит такие объекты {"keyword": "привет"} пользователь в приложении вводит например "фaцфаприветца", есть какие-то варианты средствами монги сделать запрос который по этой строке найдет вышеуказанный объект?
то есть задачу можно переформулировать иначе: пользователь вводит весь текст "Войны и мира", надо найти в базе "привет". может тогда и решать ее надо иначе? собрать из базы все возможные keywords и искать в поиском запросе?
Илья
я как раз хотел избавиться от необходимости выгружать все кейвордсы
Илья
[привет]\s*
Илья
ток все равно не то
Anatoly
Монге нет ничего подходящего
в подобной постановке нет нигде ничего подобного. так или иначе из поисковой фразы надо выделить известные словоформы и уже потом кормить их методу поиска.
Dmitryi
Всем привет! У кого-то был опыт работы с хэшированым shard key и использовались зон для разделения данных ?
Yaroslav
допустим есть коллекция которая содержит такие объекты {"keyword": "привет"} пользователь в приложении вводит например "фaцфаприветца", есть какие-то варианты средствами монги сделать запрос который по этой строке найдет вышеуказанный объект?
Не дрочи напрасно мозг, используй elastic, есть плагин, который автоматом выгружает в эластик коллекции из монги, у эластика уже есть весь инструментарий для гибкого поиска (нахождение вариантов записи, вероятность совпадения и тп)
Гена
ну путь то придется всеравно прописывать на каждый запрос
Доброе утро Простите что напрямую к вам обращаюсь Но вот я попробовал через array сделать: { "_id" : "\"******\": ****, - ", "feald" : [ { "k" : "88", "v" : { "feald" : ****, "feald" : ****, "feald" : ****, "feald" : **** } }, Как мне вытащить только значения с k?