Eva🇺🇦
Ребят, очень нужен ответ на данный вопрос
Есть у aggregate подводные какие-то? Его норм использовать, если с БД ну сотку доков тащу? Пока мне нравится мысль, что там есть агрегация, которая может результат пайплайна сразу засейвить в бд (в будущем может пригодиться). Но пайплайн может же бд нагрузить. В таком случае есть смысл использовать пайплайн только чтобы объеденить документы (джоин), а преобразить на сервере результат.
Расскажите о проблемах, с которыми вы стыкались используя aggregate
Eva🇺🇦
Ещё интересует где можно глянуть complexity разных пайплайнов
Sayan
у меня монгодб пишет Server at [адресс сервера с портом] reports maximum wire version 5, but this version of the Node.js Driver requires at least 6 (MongoDB 3.6)
Sayan
как можно решить?
Kinderwond
как можно вытащить данные с .wt файла со сделанного snapshot'a? наткнулся на wt cli, но пока что безуспешно... мб где-то есть exampl'ы экстракта данных с помощью этой cli?
yopp
yopp
https://www.percona.com/blog/2021/05/18/wiredtiger-file-forensics-part-2-wt-dump/
Kinderwond
https://www.percona.com/blog/2021/05/18/wiredtiger-file-forensics-part-2-wt-dump/
Уже лучше, спасибо
но уже сыпет следующий еррор
WT_SESSION.open_cursor: unknown compressor 'snappy': Invalid argument
не подскажите куда копать? (wt cli ставил через apt), через locate пока не нахожу конфигурацию wt cli
гугл тоже пока не помогает, возможно через wt create? но тогда какой синтаксис uri конфига должен быть? (желательно экзампл)
yopp
yopp
WiredTiger 10.0.0: (April 12, 2021)
корректно работает с 5.0.7
Kinderwond
Null
5.0.7 (Apr 11) • 4.4.13 (Mar 7) ◦ 4.2.19 (Mar 7)
ℹ️ Вышла версия 5.0.7
Что нового в 5.0 (PDF)
• Наше сообщество: @mongodb_ru
• Решение проблем с MongoDB по подписке
• Документация
• Официальные курсы (Бесплатно)
Stable: 5.0.7 (Apr 11)
Bugfix: 4.4.13 (Mar 7),
Legacy: 4.2.19 (Mar 7), 4.0.28 (Jan 11, ☠️ Apr '22)
По вопросам размещения вакансий, платной поддержки и покупки лицензий пишите @dd_bb
☠️ 3.6.23 (Mar ’21), 3.4.24 (Jan ‘20), 3.2.22 (Dec ’18), 3.0.15 (May ’17)
Flake
Каким образом я могу посмотреть записи в коллекции, которые никогда не встречались в полях других документов из других коллекций?
Eva🇺🇦
В чем заключается разница между $unset: { _id } и $project: { _id: 0 }?
Первое производительнее, кстати?
Artem
id это копия _id ?
можно юзать id для сохранения связей/поиска ?
Aleksey
Привет всем! Есть вопрос по авторизацию и RBAC в MongoDB 4.2.
Сейчас прикручиваю авторизацию SCRAM к ReplicaSet кластеру.
Включил опции transitionToAuth: true и authorization: enabled в секции security, включил авторизацию через keyFile для реплик.
Добавил пользователей в базу admin пользователя user
db.createUser({user: "user", pwd: "password", roles: [{"role": "dbAdmin", "db": "dataBase"}]});
Пробую авторизоваться с включенной опцией transitionToAuth: true и строкой подключения mongodb://user:password@192.0.2.26:27017,192.0.2.27:27017,192.0.2.28:27017/dataBase?replicaset=rs0&authMechanism=SCRAM-SHA-256&authSource=admin - авторизация работает(при неправильном пароле авторизация не проходит), запросы в базу dataBase проходят.
Далее последовательно переключаю transitionToAuth на всех репликах в false, подключаюсь строкой из прошлого сообщения - авторизация проходит, но запросы в базу вываливаются с ошибкой not authorized on dataBase to execute command.
В документации не описано такого поведения, но я подозреваю что не наследуются роли, записанные в базу admin. Подскажите пожалуйста куда покопать дабы починить выдачу ролей.
/..\
всем привет! не могу залогиниться, может было так у кого-то ? или я особенный
gleb
Maksim
pdvl
Антон
Всем привет. Я новичок в монге. Поэтому извиняюсь за возможно тупой вопрос. Можете подсказать по следующей проблеме:
Допустим есть классическая задача для обхода графа ($graphLookup). Взял пример про аэропорты из документации - https://www.mongodb.com/docs/manual/reference/operator/aggregation/graphLookup/#across-multiple-collections
{ "_id" : 0, "airport" : "JFK", "connects" : [ "BOS", "ORD" ] }
{ "_id" : 1, "airport" : "BOS", "connects" : [ "JFK", "PWM" ] }
{ "_id" : 2, "airport" : "ORD", "connects" : [ "JFK" ] }
{ "_id" : 3, "airport" : "PWM", "connects" : [ "BOS", "LHR" ] }
{ "_id" : 4, "airport" : "LHR", "connects" : [ "PWM" ] }
Как сделать обход здесь - понятно. Но возникает вопрос, а что надо делать если хочется кроме факта самой связи (в данном случае аэропортов) хранить какую-нибудь дополнительную информацию о связи. Например, тип связи: long - если аэропорты удалены более чем на 1000км и short - если ближе? Пример синтетический, и к аэропортам притянут за уши, поэтому прошу тапками не кидаться)
Пробовал такой вариант:
{ "_id": 0, "airport": "JFK", "connects": [
{"Name": "BOS", "Type": "short"},
{"Name": "ORD", "Type": "long"}
]}
{ "_id": 1, "airport": "BOS", "connects": [
{"Name": "JFK", "Type": "short"},
{"Name": "PWM", "Type": "short"}
]}
Поиск проходит успешно, но не знаю на сколько каноничный это подход для монги, не ляжет ли он на промышленном объеме данных?
А задача по ощущениям достаточно распространенная, поэтому и решил спросить, вдруг кто-нибудь сталкивался.
Alexander
Всем привет. Я новичок в монге. Поэтому извиняюсь за возможно тупой вопрос. Можете подсказать по следующей проблеме:
Допустим есть классическая задача для обхода графа ($graphLookup). Взял пример про аэропорты из документации - https://www.mongodb.com/docs/manual/reference/operator/aggregation/graphLookup/#across-multiple-collections
{ "_id" : 0, "airport" : "JFK", "connects" : [ "BOS", "ORD" ] }
{ "_id" : 1, "airport" : "BOS", "connects" : [ "JFK", "PWM" ] }
{ "_id" : 2, "airport" : "ORD", "connects" : [ "JFK" ] }
{ "_id" : 3, "airport" : "PWM", "connects" : [ "BOS", "LHR" ] }
{ "_id" : 4, "airport" : "LHR", "connects" : [ "PWM" ] }
Как сделать обход здесь - понятно. Но возникает вопрос, а что надо делать если хочется кроме факта самой связи (в данном случае аэропортов) хранить какую-нибудь дополнительную информацию о связи. Например, тип связи: long - если аэропорты удалены более чем на 1000км и short - если ближе? Пример синтетический, и к аэропортам притянут за уши, поэтому прошу тапками не кидаться)
Пробовал такой вариант:
{ "_id": 0, "airport": "JFK", "connects": [
{"Name": "BOS", "Type": "short"},
{"Name": "ORD", "Type": "long"}
]}
{ "_id": 1, "airport": "BOS", "connects": [
{"Name": "JFK", "Type": "short"},
{"Name": "PWM", "Type": "short"}
]}
Поиск проходит успешно, но не знаю на сколько каноничный это подход для монги, не ляжет ли он на промышленном объеме данных?
А задача по ощущениям достаточно распространенная, поэтому и решил спросить, вдруг кто-нибудь сталкивался.
хороший вопрос, и задан хорошо. Даже обидно, что ответить не могу :(
Антон
Artem
Artem
Мне когда-то говорили не называть кастомное поле id , потому что оно "системное"
Nick
Artem
Гена
всем привет
столкнулся с таким кейсом - после удаление документов диск на ОС не освободился. Монга держит данные на будущее судя по всему
Как можно освободить место ? помимо репейрДБ)))
Nick
Гена
Nick
Компакт вроде не ВТ не работает
там прям в первых строках
On WiredTiger databases, this command will release unneeded disk space to the operating system.
Гена
Leonid
Коллеги, добрый день! Начали погружаться в использование Mongo, возник вопрос: если у нас есть требование по ведению полного аудита изменения параметров объекта: кто и когда изменил поле и с какого значения на какое, то есть какой-нибудь стандартный подход, как это можно сделать? В голове как аналог SCD2 (SCD4) для классических БД, но возможно есть более нативный способ
karrtopelka
здравствуйте, подскажите пожалуйста, как мне localfield по условию возвращать строку?
P1GAS
@dd_bb, @yatoba
Sheff
Здравствуйте, подскажите как можно сделать выборку в случайном порядке из коллекции?
Eva🇺🇦
Eva🇺🇦
Sheff
без фильтра файнд, разве нет?
может я не совсем правильно выразился, нужно получить не одну запись а сразу несколько перемешанных, я не особо знаю mongo (
Eva🇺🇦
а как быть тогда? 😅
то есть сначала соедини две коллекции через lookup
а потом через match фильтруй
Eva🇺🇦
Daniil
Sheff
$sample
спасибо, вроде то что надо, а чтобы все документы выбрать это только нужно считать вначале и указывать size под количество записей? или может можно по другому?
Daniil
Sheff
Daniil
да
обычно можно 0 подсунуть в size для этих целей, но с этим оператором не прокатит
но если все нужны, то мб проще уже в коде перемешать
Sheff
Валерий
как в mongoose провалидировать пару значений (имя, почта) на уникальность ?
Yuriy
Доброй ночи, пытаюсь установить mongodb последней версии на CentOS 7 согласно официальной документации, но возникает ошибка как на фото выше. Кто знает в чем может быть проблема? Кто с этим сталкивался?
P1GAS
Валерий
Konstantin
P1GAS
Валерий
P1GAS
✨ Uni
Konstantin
Валерий
@P1GAS @superman_da спасибо
P1GAS
Mike
https://ru.stackoverflow.com/questions/1403002/%d0%9f%d0%be%d0%b4%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%ba-%d0%b1%d0%b0%d0%b7%d0%b5-%d0%b1%d0%b5%d0%b7-%d0%9e%d0%a0%d0%9c-%d0%b8-%d1%84%d1%80%d0%b5%d0%b9%d0%bc%d0%b2%d0%be%d1%80%d0%ba%d0%b0
Народ.
Кто нибудь знает решение к данной задаче?
Nick
Anonymous
Подскажите, есть такой документ. Первое поле все время разное, и они дополняются. Как забрать все вложенные значения ?
Serhii
Всем привет, при сортировке по полю _id, в случае если несколько айтемов были созданы в одно время, есть ли возможность сравнить еще как-то их айдишники (_id), или в таком случае сортинг ордер всегда будет непредсказуем и нужно подключать кеш
"$set":{
"_index":{
"$concat":[
{
"$toString":"$eventDateTime"
},
"-",
{
"$toString":{
"$toDate":"$_id"
}
}
]
}
}
},
{
"$sort":{
"_index":1
}
},
{
"$match":{
"_index":{
"$gt":"2022-04-19T15:19:11.379Z-2022-04-19T15:19:11.000Z" // это для пагинации
}
}
Vladimir
Добрый день! Возник вопрос. (mongoose) При получении док-та и добавление данных в массив и сохранения сохраняет в массив id и добавляет ещё _id ненужный. Как это исправить?
Vladimir
dnacd 🦜
Vladimir
Ну а для чего он в массиве в элементе находится?
Boroda
Всем привет, есть mean приложуха, хочу потестить и залить на vds, только вопрос база монго стоит сейчас локально у меня, как правильно залить ето дело на vds либо использовать хост удал. от самого монго либо лутше подругому?
Vladimir
Он обязательно нужен в моём случае?