Khikmat
Khikmat
Кто ниб знает есть ли процедура получения данных сортировкой с сохранением сортировки в бд?
Anonymous
Anonymous
Anonymous
Khikmat
👍
Aqendo
Здравствуйте, кто-нибудь знает как сейчас актуально можно запустить монгодб на андроид устройстве(локально)? В плей маркете есть приложение Dory/MongoDB, оно запускается но подсоединиться я сколько не пытался не смог(может неправильно пытаюсь?), в термуксе репозиторий с устаревшими зависимостями, не запускается mongo/mongod, как можно ещё это сделать или старое возродить ?
Evgeniy
Всем привет. Можно ли как-то уточнить, почему mongodb перегружает память при поиске?
Nick
Dmitriy
Добрый день.
Хочу безопасно искать подстроки в полях где могут быть управляющие символы регулярок, слеши и прочие наборы символов. Это здорово усложняет экранирование. Да и пока экранирую символы это по прежнему остается регуляркой которая все равно может последовательностью символов обойти экранирование или сложной регуляркой повесить систему.
Поэтому нужен путь чтобы в поиск подстрок принималось выражение и игнорировались управляющие конструкции. Т.е. нужен тупо текстовый поиск подстроки как есть.
Хотя есть мысль что в принципе делаю какой то костыльный велосипед
Evgeniy
видимо нужны данные для выполнения запроса
Т.е. если данных нет то она перегружает память?
Я просто получил тг бота который ищет по одному из двух критериев по дб, и по первому ищется нормально, а по второму виснет и перегружает. Данные вроде есть для обоих критериев
Nick
dnacd 🦜
Nick
Dmitriy
Nick
Nick
Evgeniy
Никита
Привет! Подскажите, пробую в шардирование, делаю по гайду, в результате получаю такую картину:
collections: {
'test.test_collection': {
shardKey: { number: 1 },
unique: false,
balancing: true,
chunkMetadata: [ { shard: 'mongors1', nChunks: 1 } ],
chunks: [
{ min: { number: MinKey() }, max: { number: MaxKey() }, 'on shard': 'mongors1', 'last modified': Timestamp({ t: 1, i: 0 }) }
],
tags: []
}
}
Так и должен быть один чанк?
Nick
Привет! Подскажите, пробую в шардирование, делаю по гайду, в результате получаю такую картину:
collections: {
'test.test_collection': {
shardKey: { number: 1 },
unique: false,
balancing: true,
chunkMetadata: [ { shard: 'mongors1', nChunks: 1 } ],
chunks: [
{ min: { number: MinKey() }, max: { number: MaxKey() }, 'on shard': 'mongors1', 'last modified': Timestamp({ t: 1, i: 0 }) }
],
tags: []
}
}
Так и должен быть один чанк?
при создании - да, дальше при наполнении будет сплититься. Можете сами явно засплитить
Никита
А я правильно понял, что шардинг и реплики не помогут мне ускорить запросы на чтение, если коллекции будут по ярду документов?
Никита
При условии, что количество обращений к базе не будет высоким, по крайней мере на первых порах
Никита
Cloud
"{""error_message"":""failed to connect to server *** on first connect [MongoNetworkError: Client network socket disconnected before secure TLS connection was established]""}"
в чем может быть проблема?
AБB
Добрый день.
Я новенький в mongo - подскажите пож-ста!
Есть 2 коллекции: users и records
У record есть поле user_id.
Как мне найти всех юзеров у которых нет ни одного records?
Roman Khonichev
Nick
для поулчения year и all вам нужно использовать редьюс (https://www.mongodb.com/docs/manual/reference/operator/aggregation/reduce/) по массиву с указанием логики подсчета. Для фильтрации в условии по году можно использовать $year (https://www.mongodb.com/docs/manual/reference/operator/aggregation/year/)
Sanya
Всем привет
Столкнулся с некой проблемой. Есть аппка, в которой используется кастомная функция для авторизации
Сижу на ВПН, подключен к России
Получаю в консоли ошибку при логине:
Login failed: cannot parse response
По логам в MongoDB Realm никаких ошибок нет
Подключился к Украине и меня авторизировало. MongoDB вводили какие - то санкции на пользователей из России?
pdvl
Sanya
конечно
Сарказм или серьезно?
Я читал, что разработчики не смогут юзать MongoDB. Про то, что соединения из России заблочат - не видел
Nick
Cloud
Может плз кто-нить объяснить, как работает в драйвере ноды MongoClient.connect()
Точнее что будет если его вызывать несколько раз?
Работает ли это по аналогии с пг, где pool.connect - возаращет коннекш или создает новый если свободных нету
Sanya
коннекты работают, веб морда атласа отключена, но под впн норм
Не совсем понимаю
Авторизация идет через кастомную функцию в реалме. По логам в самом реалме я вижу, что она успешно завершается и начинает идти синк (загружает данные)
При этом в консоле IDE мне выводит ошибку
Login failed: cannot parse response
Получается, что ответ идет от атласа и приложение его просто не получает, из - за этого и ошибка?
Nick
COHuK
Все привет. Подскажите новичку, у меня есть 2 сущности - вакансии и отклики по ним. У вакансии есть поле "количество откликов". Есть ли удобный способ связать это значение с количеством откликов?
COHuK
Вот так наверное понятнее будет
COHuK
Или я в корне неправильно поступил что сделал 2 сущности и надо было applicants делать массивом объектов?
Sanya
Rodjer
Максим
Коллеги, доброго времени суток.
Подскажите пожалуйста, кто нибудь решал задачу разворачивания реплики монго через ansible?
Evgeniy
Всем привет. Помогите разобраться с ситуацией -
есть тг бот который обращается к БД. Расположен на сервере. Всё работало хорошо до того момента, пока сервер не был приостановлен за неуплату. После этого при обращении к бд бот зависает, либо намертво либо очень тормозит. дампнул БД, добавил новые записи - всё хорошо. Восстановил старые записи - опять лагает. В чём может быть причина?
Evgeniy
Evgeniy
записей ~90 штук всего
Anna Agabekyan
Добрый день! где можно найти примеры json (желательно осмысленные) для работы с агрегациями? или пришлите плиз документы или ссылки)
Abdulaziz
Anna Agabekyan
хочется типо такого примера, как на видео https://www.youtube.com/watch?v=aAmS5oFeEQ0&t=1003s
Anna Agabekyan
Andrey
коллеги, подскажите возможную причину:
- монга 4.2.1, работала долгое время без сбоев
- недели 3-4 как база стала останавливаться
- последние строчки лога контейнера
2022-04-16T17:19:55.667+0000 I TXN [conn1958] transaction parameters:{ lsid: { id: UUID("9ee10c23-ef91-47a9-b103-cd0598a3e5e9"), uid: BinData(0, 830872FC3F605AFFB6F640ED87DB86D55DCD03BE1E29155D54CDA151B743588A) }, txnNumber: 283, autocommit: false, readConcern: { level: "snapshot" } }, readTimestamp:Timestamp(0, 0), keysExamined:64 docsExamined:50 terminationCause:committed timeActiveMicros:3923 timeInactiveMicros:103679 numYields:0 locks:{ ReplicationStateTransition: { acquireCount: { w: 2 } }, Global: { acquireCount: { w: 1 } }, Database: { acquireCount: { w: 1 } }, Collection: { acquireCount: { w: 3 } }, Mutex: { acquireCount: { r: 3 } } } storage:{} wasPrepared:0, 107ms
2022-04-16T17:20:01.393+0000 I CONTROL [signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends
2022-04-16T17:20:01.394+0000 I REPL [RstlKillOpThread] Starting to kill user operations
2022-04-16T17:20:01.394+0000 I REPL [RstlKillOpThread] Stopped killing user operations
2022-04-16T17:20:01.396+0000 I NETWORK [conn1955] end connection 10.255.0.235:33220 (13 connections now open)
2022-04-16T17:20:11.403+0000 I REPL [RstlKillOpThread] Starting to kill user operations
2022-04-16T17:20:11.404+0000 I REPL [RstlKillOpThread] Stopped killing user operations
2022-04-16T17:20:11.405+0000 I STORAGE [signalProcessingThread] Failed to stepDown in non-command initiated shutdown path ExceededTimeLimit: No electable secondaries caught up as of 2022-04-16T17:20:11.404+0000. Please use the replSetStepDown command with the argument {force: true} to force node to step down.
2022-04-16T17:20:11.419+0000 I NETWORK [signalProcessingThread] shutdown: going to close listening sockets...
2022-04-16T17:20:11.419+0000 I NETWORK [signalProcessingThread] removing socket file: /tmp/mongodb-27017.sock
2022-04-16T17:20:11.420+0000 I - [signalProcessingThread] Stopping further Flow Control ticket acquisitions.
2022-04-16T17:20:11.420+0000 I REPL [signalProcessingThread] shutting down replication subsystems
2022-04-16T17:20:11.420+0000 I REPL [signalProcessingThread] Stopping replication reporter thread
2022-04-16T17:20:11.420+0000 I REPL [signalProcessingThread] Stopping replication fetcher thread
2022-04-16T17:20:11.420+0000 I REPL [signalProcessingThread] Stopping replication applier thread
2022-04-16T17:20:11.421+0000 I REPL [rsSync-0] Finished oplog application
gleb
Добрый, может кто-то знает как можно реализовать что-то на подобии autocomplete + fuzzy text search как в mongo atlas, только для n вложенных полей? Пытался сделать хотя бы просто для values.name в mapppings - не работает
[
{
value: 1,
name: 'one',
values: [
{
value: 43,
name: 'first nested',
values: [...]
},
{
value: 278,
name: 'second nested',
values: [...]
}
]
},
{
value: 57,
name: 'some text',
values: [...]
}
]
QIT
На питоне либо голанге нужно реализовать историю изменений значений в документах по коллекции. Нашел на руби и монгус (mongoid history) модули, но не нашел что-то подобное для питона и голанга. Можете подсказать?
Ольга
Добрый день. Подскажите пожалуйста как сгруппировать данные по месяцам и получить такого плана объекты {
month: "2022.03",
incomes: 500, // посчитать все isIncome = true
expenses: 25, // посчитать все isIncome = false
}
Игорь
Как получить те у которых user_id отсутствует?
Хочу получать количество тех у которых отсутствует user_id
Игорь
Nick
Ольга
Nick
Nick
Добрый день. Подскажите пожалуйста как сгруппировать данные по месяцам и получить такого плана объекты {
month: "2022.03",
incomes: 500, // посчитать все isIncome = true
expenses: 25, // посчитать все isIncome = false
}
для истории:
.aggregate([
{$group:{
_id: "$month",
incomes: {$sum: {$cond: ["$isIncome", "$value", 0]}},
expenses: {$sum: {$cond: ["$isIncome", 0, "$value"]}},
}}
])
Ольга
спасибо
Игорь
Игорь
выводит 0
Nick
Почему такое не сработало?
судя по тому что у вас было на скрине gds - это массив, по массиву надо применить $reduce в который уже засовывать $sum. Услвоие у вас сейчас некорректное, т.к. надо {$exists: ["$gds.....", false]}
Игорь
Nick
Игорь
Оно либо String Либо его вообще нет.
Нужно ж получить те у которых его нет
Игорь
Как проверить на существование?
Nick
Как проверить на существование?
это оказало не тривиально, внутри агрегации $exists не работает., но поулчилось так
db.getCollection('t_reduce').aggregate([
{$addFields: {
no_user_id_count: {
$reduce: {
input: "$gds",
initialValue: 0,
in: {
$add : ["$$value", {$cond:[
{$eq: ["$$this.user_id", undefined]},
1,
0
]}]
}
}}
}}
])
Игорь
Игорь
Спасибо
Nick
похорошему надо еще првоерять на равенство null, но если уверены что именно нуловых значений у поля не будет, то можно забить
Игорь
gleb
можно как-то для $search compound в filter фильтровать какое-то поле по вхождению в список ObjectId?