yopp
Fenicu
т.е просто закрыть порт на извне самое простое решение получается
Roman
единственный способ залезть в базу угнать рут пароль например
Roman
а даже если база с паролем то пароль в исходниках
Fenicu
зеродни никто не отменял
yopp
если на хосте есть что-то кроме монги, и это что-то торчит в интернет и пользователь от которого это что-то работает может открыть соединение на порту который слушает монга, то это может закончиться дропнутой базой и открыткой с номером кошелька
yopp
в лучшем случае
yopp
в худшем случае может закончиться широким освещением в профильных сми
Roman
не понимаю как такое можно прокрутить :/
yopp
простой пример — непропатченый вордпрес
Roman
у меня не пыха и софта подобного
Roman
только нода которая слушает с экспресса
Roman
там что то заэвалуэйтить не вижу возможным
yopp
не понимаю в чём проблема развернуть аутентификацию, если это делается за 15 минут
yopp
ещё полчаса займёт развернуть tls
Roman
просто я думаю, что пароль на харде сервака в открытом виде лежит
Roman
и если стащат то стащат, нет?
yopp
это уже другой вектор
yopp
и да, некоторые боты так тоже умеют
Roman
я теперь даже заволновался за безопасность
yopp
по этому авторизация по индивидуальным учетным записям для каждого деплоя, с минимальным набором прав, необходимых для работы — way to go
yopp
и ещё отличная вещь — тегать ваших клиентов. современные драйвера позволяют добавить app_name по которому в логах можно делать аудит
P
Всем доброго времени суток! Есть вопрос по индексации
const mongoose = require("mongoose");
const elementSchema = mongoose.Schema({
name: String,
type: String,
text: String,
originalText: String,
previousText: String,
pictureUrl: String,
clipName: String,
relateIndex: String,
parentUuid: String,
uuid: String
});
elementSchema.index({
name: "text",
text: "text",
});
после выполнения я не вижу в базе ничего проиндексированного, при этом сервер и монгус не дает ошибок
P
по всей сути я должен увидеть в папочке indexes проиндексированный документ?
Vova
Подскажите, может кто-то пробовал, можно делать как-то так
replaceOne({ _id: "123" }, { flag: true, $setOnInsert: { flag: false } }, { $isUpsert: true })
?
Типо если уже существует то флаг один, а если не то флаг другой
Stas
Mongoose
Как описать в схеме свойство значением которого будет объект с любыми свойствами?
Допустим свойство session, какой тип ему ставить если в него может записываться любой объект, к примеру
session: {
key: 228,
test: 'boruto'
}
Andrey
object же нет?
Stas
И еще вопрос. Как обновлять данные в бд, а если их нет, то добавлять. Как делаю я:
1. Делаю findOne
2. Если ничего не возвращает тогда делаю create
3. Если что-то возвратило, тогда делаю update
Получает 2 запроса к бд, можно как-то одним это делать, может есть готовая функция?
Andrey
https://stackoverflow.com/a/24711713
Stas
https://stackoverflow.com/a/24711713
DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead.
Хотя я и так использую findOneAndUpdate, почему?
Andrey
а ты указываешь {upsert: true}?
Oleg
Stas
Stas
Andrey
погоди, ты сначала писал `1. Делаю findOne потом уже findOneAndUpdate`
Stas
Уже так не делаю, теперь только findOneAndUpdate
Andrey
так а что в итоге не работает то?
Stas
Ну типа всё работает, просто это предупреждение, которого по логике не должно быть)
Andrey
https://github.com/Automattic/mongoose/blob/a58ef2a9f219067a6402b4a4befcf4ac4cca9e6e/docs/deprecations.jade#L76
Stas
Игорь
Вопрос. Было приложение монолит с Celery и MongoDB. Без докера.
Теперь Celery и Mongo рассованы каждый в свой контенер.
Но появилась проблема. Celery делало дампы монго по расписанию с помощью mongodump.
Но так, как монго теперь крутиться в отдельном контейнере, то у Celery больше нет доступа к утилите.
Как быть в этой ситуации?
Dmitry
Игорь
Просто очень не охота привязываться к хосту. Хотелось бы развернуть приложение через compose и в ус не дуть)
А какие есть варианты делать дампы монго через уделённое подключение?
Есть вариант из контейнера селери подключиться в контейнер монго, но можно ли так сделать дамп?
Игорь
И можно ли поставить отдельно mongodump без самой монго?
Alexander
У меня опять PRIMARY нода упала.
В логе
WiredTiger error ... WT_CONNECTION.open_session: out of sessions, only configured to support 20020 sessions (including 20 additional i
nternal sessions): WT_ERROR: non-specific WiredTiger error
У меня v3.6.2
Здесь это отражено - https://jira.mongodb.org/browse/SERVER-26673
У меня "cursorTimeoutMillis" : NumberLong(600000)
Вопрос - что делать-то? Уменьшать timeout?
Маfеt
Увеличить колво сессий?
Маfеt
Ну и почему их так много
Маfеt
Ктото забывает чтото закрывать?
Маfеt
А если реально столько сессий, то хз, кластер бы
Roman
приветы!
как через findOne выбрать не первую запись (ну вы поняли о чем я) а случайную?
Roman
это дало бы мне "равномерность"
Roman
сейчас есть скрипт который забирает задачи в 40 потоков, и получается, что он (без ордербай) берет только старые задачи
Roman
а я хочу чтобы он брал любую
Roman
то есть поток отработал задачу берет новую через findOne
Alexander
Кластер - всмысле replica set
Маfеt
Ну а я про шардед кластер
Gor
оттого изначально тебе таймаут такой попросили поставить
Ivan
убрал реплику из конфига, зашёл в монгу, дропнул local, вышел, проставил реплику, проинициализировал реплику с правильным хостнеймом и именем.
Вроде работает
Я уже писал здесь, но ответов не нашёл. Вдруг, есть более приятные варианты?
Кейс: Есть реплика на 3-х машинах, разворачивается в stage на одну машину путём rsync.
После запуска reol:OTHER, т.к. все, кто прописан, недоступны. Ни удалить, ни добавить членов не даёт , т.к. не мастер.
Gor
Gor
ты blue green делать пытаешся с базой?
Ivan
Термина я не знаю, я пытаюсь окружение прода перенести в стейдж
Gor
если нет, и stage чисто на погонять тесты - то просто делаешь восстановление с дампа
Ivan
Это не тесты и неичего такого, просто актуализирование стейджа
Ivan
Да, но очень долго делается с дампа. Очень =)
Ivan
Возможно, вся база мне не нужна, я подумаю, спасибо
Sebor▂▅▇█▓▒░
Anonymous
привет, ребят, а ткните мануалом для нуба для распараллеливания бд
Anonymous
есть монгодб для сайта, хочется чтобы бд была на двух разных кластерах vsphere параллельно
Gor
Anonymous
Здравствуйте всем. Очень хочу научиться делать сайт с использованием mongodb знания минимальны. Подскажите может инструкцию дайте плиз.
Andrey
Aleksandr
Anonymous
возможно, вам поможет это https://docs.mongodb.com/manual/reference/operator/query/in/#op._S_in
RapidCodeLab
Не получается элементырный UpdateOne( .... upsert: ture)
Редактор подсвечивает