Dmitry
Всем привет, ребят такой вопрос: есть Mongo в ней БД с 4 коллекциями, в каждой из коллекций по 200 млрд документов, построены индексы полнотекстового поиска по ним, но при работе с этой БД она съедает много памяти, как потюнить ее чтобы к памяти было меньше претезаний со стороны Монго?
Александр
Vladislav
а как использовать if ?
https://learn.javascript.ru/ifelse
Ilya
https://learn.javascript.ru/ifelse
слишком жестоко :(
Александр
https://learn.javascript.ru/ifelse
тернарный тут не нужен, как мне кажется
Александр
тут смысл другой, как if прописать в aggregate
Ilya
if (asdsad) { object.asdsad.asdasd = { asdsad: asdasd }; }
Ilya
(по секрету)
Vladislav
тут смысл другой, как if прописать в aggregate
давай подумаем, aggregate принимает массив объектов, тебе по условию надо в этом объекте что-то сделать В чем вопрос?
Vladislav
const obj = { cond && …({ a: 5 }) } лайфхак чтобы писать короче
Vladislav
такое не сработает
ага, потому что { …(cond && { a: 5 }) }
Ilya
а если cond у нас булиана
Ilya
false
Ilya
хм, лол, не знал, что { ...false } можно делать
Александр
я не пойму, вот я вынес в переменную строчку с $match
Александр
как ее использовать ? с if
Ilya
эх...
I
Делай за ее приделами
Александр
Агригациях нельзя так делать
вот я так и думал, то есть, если будет в aggregate 10 строчек и будет условие при котором нужно добавить еще одну строчку, например с match, я должен сделать две функции, где в первой 10 строчек, а во второй 11 ?
I
Можно типа массива сделать
Александр
I
Через опрокидывания функции
I
Можно доп функционал определить
I
Как вариант
I
Не помню, ругается ли монга на пустые {}
Александр
Оставлю пока так
Александр
Спасибо
Anonymous
Всем привет, не подскажите в чем проблема?
Anonymous
MongooseError: Operation users.find() buffering timed out after 10000ms
wertaer
покеж код подключения к монгусу
Konstantin
MongooseError: Operation users.find() buffering timed out after 10000ms
А у тебя аутентификация вообще происходит?
Anonymous
connect('mongodb+srv://swedesjs:пасс@cluster0.vitsj.mongodb.net/maybot', { useNewUrlParser: true, useUnifiedTopology: true })
wertaer
а ты вытащил конеткт из монгуса?
Anonymous
а ты вытащил конеткт из монгуса?
Ну я все модели создал, все ок
wertaer
ну не знаю
Anonymous
Документы создаются, изменяются, и все окей, но не пойму что это за ошибка
wertaer
ну погугли штоли
Anonymous
Гуглил, не фурычит
Anonymous
Мб опцию в коннект ставить надо?
Anonymous
Как удалить какой либо документ?
Ilya
оно рандомно может начать выдавать эту ошибку
Anonymous
Да нет, это я тупой, у меня какая то хуйня, постоянно IP меняется
Anonymous
.remove({_id:....})
Параметр в object можно любой указывать?
Anonymous
Например id у меня есть при создании документа
Anonymous
Не _id а именно id
Nick
да, и еще есть более понятные deleteOne и deleteMany, где не требуется явно указывать через доп флаги надо ли удалять все найденные
Anonymous
Окей
Anonymous
Если указать {} то он снесет все документы?
Nick
да
Anonymous
Ок
Anton
Кто нибудь знает, как присоединить mongoose к десктопному mongodb?
Nick
Кто нибудь знает, как присоединить mongoose к десктопному mongodb?
декстопный всмысле на вашем компе? если так то указать localhost:27017 вместо адреса сервера при подключении
Anton
Спасибо огромное 🤗
Anonymous
Вопрос почему мне выдает ошибку? С рекомендациями об использовании deleteOne и тд, но сами документы удаляются await User.deleteOne({})
Anonymous
Код на выходе выполняется, но дает ошибку
Nick
а что за ошибка?
Anonymous
Щас скажу
Anonymous
Хм, а сейчас он не дает ошибок
Maksim
Привет. Подскажите, в первый раз делаю бэкенд. Надеюсь по адресу пишу. Есть модели User и Movie - Пользователи и Фильмы. Я хочу сделать у каждого пользователя список просмотренных им фильмов. Это вроде делается просто, типа так: watchedMovies: [{ type: mongoose.Schema.Types.ObjectId,ref:'Movie' }] но теперь я хочу чтобы пользователь мог проставить флаг, досмотрел он фильм до конца или нет. Я очевидно не могу впихнуть в модель Movie, потому что это общая база фильмов для всех. Как правильно создать такой флаг?
Nick
Привет. Подскажите, в первый раз делаю бэкенд. Надеюсь по адресу пишу. Есть модели User и Movie - Пользователи и Фильмы. Я хочу сделать у каждого пользователя список просмотренных им фильмов. Это вроде делается просто, типа так: watchedMovies: [{ type: mongoose.Schema.Types.ObjectId,ref:'Movie' }] но теперь я хочу чтобы пользователь мог проставить флаг, досмотрел он фильм до конца или нет. Я очевидно не могу впихнуть в модель Movie, потому что это общая база фильмов для всех. Как правильно создать такой флаг?
в простом случае делаете еще модель по типу MovieAttitude или еще более адекватное название, отражающее отношению пользователя к фильмам. Там уже указываете ссылку на фильм и заводите нужные вам флаги, возможно даты просмотра, оценку и т.п. Соответственно у юзера вместо watchedMovies будет массив из этих объектов, через которые уже будете вытаскивать фильмы
V
здравствуйте
V
не могу подключиться
V
auth failed
Anonymous
Ты апи свой добавил?
Anonymous
auth failed
Какую библиотеку используешь для этого?
Anonymous
И полностью ошибку скинь
V
net: port: 27017 #bindIp: 0.0.0.0
V
security: authorization: 'enabled'
Anonymous
А это что за формат данных?