Oleh Kopyl
Daniil
mshsacc
Я просто искал какието видео уроки или курсы
mshsacc
Alex
Всем доброго времени суток! Может кто-то может подсказать как открыть mongodb в бесплатной версии dbview? Заранее спасибо за ответ
Alex
Ещё один вопрос: можно ли через mongo compass или что-то другое посмотреть схему данных с типами данных и их длинной?
Артем
Всем привет, пытаюсь получить данные и группировать их. Нашел, что можно использовать aggregate, но у меня данные объединяются по chatId: Number, и при попытке объединить группу
{
$group: {
_id: '$chatId',
messages: { $push: '$messageId' },
},
}
получаю ошибку, что _id (ObjectId) не соответствует $chatId (Number)
Nick
S
Привет, я пишу запросы к монго на Node.JS. Там есть библиотека mongoose, у которой есть метод populate, который выполняет то же, что и $lookup, однако вместо $lookup он делает отдельные запросы к соединяемым моделям. Создатели mongoose утверждают, что это быстрее чем $lookup. Но как такое может быть? Что отдельные запросы к БД быстрее нативной агрегации $lookup?
S
Стоит ли этому верить короче
Nick
S
Можете ссылочку дать где это написано?
Вот в первом абзаце: https://mongoosejs.com/docs/populate.html
MongoDB has the join-like $lookup aggregation operator in versions >= 3.2. Mongoose has a more powerful alternative called populate(), which lets you reference documents in other collections.
S
И вот создатель либы привел пример: https://github.com/Automattic/mongoose/issues/3683#issuecomment-483290290
Nick
yopp
Evgeniy
Добрый день, как можно защитить базу, у меня просто логин и пароль пока. А то зашли и стерли все 😅
Нуриддин
Нуриддин
Добавить ldap чтобы пароль менялся постоянно
Нуриддин
Вариантов много
Evgeniy
Ну про сертификаты находилась инфа, а вот заверить вход это как?
Нуриддин
S
S
А не тот, который могут подобрать
S
S
Evgeniy
Вряд ли что?
Ну что зашли на сервер и очистили базу с него
Нуриддин
Ну что зашли на сервер и очистили базу с него
Нет ничего абсолютно надёжного. "Если что-то может произойти - это произойдет, а готов ли ты был или нет -зависит только от тебя"
Evgeniy
Evgeniy
mylifestyle
Друзья, как в pymongo написать регулярку для поиска начала каждого слова в поле.
То есть если у меня имя яблоко свежее, если я введу 'све', то он найдет яблоко свежее.
Пробую так, но не работает, не находит:
regex = r'\све'
goodDB.find('name': {'$regex': regex})
mylifestyle
так тоже не работает как в документации
pattern = r'\bогурец\b'
pattern = re.compile(pattern)
regex = Regex.from_native(pattern)
mylifestyle
любые '^ябл' работают, любые с экранированием не работают(((
Constantine
там 8.0 уже в мейне, хотя на сайте еще RC https://www.mongodb.com/docs/upcoming/release-notes/8.0/
Andrey K.
Artyom
Привет, mongodb v4.4.9.
В логах вижу ошибку
{"t":{"$date":"2024-09-25T01:08:13.151+03:00"},"s":"I", "c":"NETWORK", "id":22989, "ctx":"conn198030683","msg":"Error sending response to client. Ending connection from remote","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"Connection reset by peer"},"remote":"xxx.xxx.xxx.xxx:xxxx","connectionId":198030683}}
как понять какой запрос привел к этой ошибке?
Nick
Привет, mongodb v4.4.9.
В логах вижу ошибку
{"t":{"$date":"2024-09-25T01:08:13.151+03:00"},"s":"I", "c":"NETWORK", "id":22989, "ctx":"conn198030683","msg":"Error sending response to client. Ending connection from remote","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"Connection reset by peer"},"remote":"xxx.xxx.xxx.xxx:xxxx","connectionId":198030683}}
как понять какой запрос привел к этой ошибке?
это не ошибка, прямой корреляции с запросами это сообщение не имеет. Оно про то что клиент разорвал соединение, адрес клиента указан в remote, доп инфу можно по connectionId из лога попытаться посмотреть
Artyom
Nick
Nick
Artyom
Александр
Подскажите, как преобразовать в пайплайне вложенный в каждый документ список объектов в список конкретного поля этих объектов? Пример:
{
a: [{b: 1}, {b: 2}]
}
->
{
a: [1, 2]
}
Tetra
Александр
Evgeniy
можно ли для ssl/tls использовать самоподписанный сертификат?
Evgeniy
Какой сертификат вообще лучше использовать для ssl/tls
Влад
cloudflare
Evgeniy
Помогите подключиться к базе с TLS, я поднял ее в докере
image: mongo:latest
container_name: mongodb
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
command: mongod --tlsMode requireTLS --tlsCertificateKeyFile /etc/ssl/mongodb.pem --tlsCAFile /etc/ssl/ca.pem
ports:
- "27017:27017"
volumes:
- ./data/db:/data/db
- ./certs/mongodb.pem:/etc/ssl/mongodb.pem
- ./certs/ca.pem:/etc/ssl/ca.pem
networks:
- patrebna-network все нормально работает, а какие параметры нужно тут не могу понять this.url = `mongodb://${user}:${password}@mongodb:27017/patrebna?authSource=admin&tls=true`;
void mongoose.connect(this.url); пишет что не верный url
Артем
Проверь значения логина и пароля. Может в них есть спецсимволы, которые ломают url
fenogentov
есть выборка
из этой выборки надо получить уникальные значения поля "unit" и подсчитать количества документов по каждому уникальному значению
Подскажите куда копать и что почитать?
Nick
Yura
Добрый день, подскажите пожалуйста, есть коллекция с ключами (допустим):
a,b,c,d,e,f,g,h
Запросы к этой коллекции могут приходить с различной комбинацией этих полей,
b,c d,e,h a,f,g и т.д. Как правильно их оптимизировать/ускорить? Создать для каждого ключа индекс или для каждого запроса составной индекс на комбинацию? Плодить большое количество индексов тоже не очень хорошая идея как я понимаю, т.к. будет страдать вставка.
Назар
Всем привет. Почему реплика сет на вставку гораздо медленнее чем single? Локально у меня реплика из 1 ноды. Разница на insertOne с writeConcern w 1 и без 8 раз. На маке локально. У коллеги локально то ли на винде то ли через докер всего лишь в 3 раза. На сервере тоже в 8 раз разница, но там 3 ноды в реплике. Вопрос, насколько реплика должна быть медленее на вставку, и что можно сделать, чтоб вернуть частично производительность?
Kirilll
Сотрудник 236
Назар
Kirilll
Сотрудник 236
A write concern that includes or implies j: true causes an immediate journal synchronization.
Сотрудник 236
При указании majority это сработает. Сработает ли если укажешь числом - хз.
Назар
Сотрудник 236
Сотрудник 236
1 primary сервер
Назар
Сотрудник 236
попробуй указать w: 0 j true
Сотрудник 236
если задержки схожие, то видимо монга воспринимает w:1 для сета из 1 сервера как majority
Назар
с w: 1 скорость почти такая же как и без реплики. Но это же не безопасно. А если вообще не указывать writeConcern то тогда медленно
Сотрудник 236
Проверь настройку writeConcernMajorityJournalDefault
Назар
Сотрудник 236
Starting in MongoDB 5.0, the implicit default write concern is w: majority.
Назар
понятно, что оно медленно из за writeConcern. Непонятно почему медленно когда реплика из 1 ноды. И почему в 8 раз.
Сотрудник 236
Запись на диск
Сотрудник 236
Я же выше писал.
Сотрудник 236
w:majority -> j: true. j:true это ожидание записи на диск.