Сергей
Разве он не пересоздаёт подключение автоматически?
У меня просто отваливался, не знаю. Перегуглил весь интернет, много у кого такая проблема была
Михаил Макарычев
У меня просто отваливался, не знаю. Перегуглил весь интернет, много у кого такая проблема была
Там нельзя сделать что-то вроде mongoose.on('disconnect', connect => connect.open())?
Сергей
Там нельзя сделать что-то вроде mongoose.on('disconnect', connect => connect.open())?
я в урлу прописывал различные опшины, там stayAlive и прочее, в итоге оно конектилось, но по времени затраты были секунд 15 примерно
Mira
Доброго времени суток. Подскажите с методом findOneAndUpdate у модели. Допустим, мне нужен update, я перезаписываю некоторые поля, но все остальные, которые я оставил без изменения идут - null. Как с этим бороться?
Mira
Если не ставлю status - то он в базе выглядит как null
Mira
СТалкивался с такой проблемой, мне тут посоветовали делать {$set:req.body} .
А можешь пояснить что это вообще означает? $set и почему именно req.body?
🖤
А можешь пояснить что это вообще означает? $set и почему именно req.body?
req.body -это в моем случае, потому что я кусок документа получал. У вас может быть своё. $set позволяет, насколько я понимаю, в документ добавить поля, и при том перезаписать существующие значения без потери старых полей. ВОт дока.
🖤
То есть у меня это выглядит как Item.findOneAndUpdate({name: req.params.name}, {$set:req.body}) .then(..... Вроде нормально работает
Andrey
Добрый день! помогите плз в построении кластера! мозг уже кипит! суть проблемы такова, что после запуска конфиг сервера и назначения ему primary, я включаю балансир и добавляю еще один RS но тогда балансир начинает орать нет Primary и валится к чертям
Andrey
я уже не могу второй добавить, привелегии мастера ушли
Andrey
причем непонятно к кому
Andrey
второй slave в статусе other
AstraSerg
причем непонятно к кому
ни к кому, чётное количество серверов не могу договориться
Andrey
т.е. мне за раз два сервака добавить?
Andrey
или сразу арбитром второй объявить?
AstraSerg
обычно с этим проблем не было
AstraSerg
просто следуйте инструкции здесь: https://docs.mongodb.com/manual/tutorial/deploy-replica-set/
Andrey
спасиб, сча ознакомлюсь
AstraSerg
спасиб, сча ознакомлюсь
А как вы без доки делали? :))
Andrey
наверное заново перечитаю, что то я где то педалю
Andrey
хронология вроде бы та
Andrey
но и конфиг файлы у меня слабовато запускаются
AstraSerg
туториал рабочий
Andrey
и primary куда то бежит
Andrey
а можно опыта малех спросить?
Andrey
Вы как авторизацию организовали? на SSL? или x.509?
Andrey
именно безопасность самого кластера
yopp
вам не нужно в условии перечислять все поля
yopp
хватит _id
yopp
это уникальный идентификатор документа
yopp
collection.updateOne(eq("_id", user_id), new Document("$set", .append("first_name", first_name) .append("last_name", last_name) .append("username", username) .append("Formatting", format) .append("Sound notifications", sound) .append("View links", view)) );
yopp
и в $set не добавляйте _id. это поле невозможно изменить
yopp
плюс постарайтесь не использовать ключи с пробелами и разным регистром
yopp
Stable: 4.0.2 (Aug 29, 2018) Bugfix: 3.6.7 (Aug 25, 2018), Legacy: 3.4.16 (Jul 10, 2018) MongoDB quick overview/production notes: https://www.percona.com/live/e17/sites/default/files/slides/Running%20MongoDB%20in%20Production%20-%20FileId%20-%20115299.pdf 4.0.2: https://docs.mongodb.com/manual/release-notes/4.0/#aug-29-2018 3.6.7: https://docs.mongodb.com/manual/release-notes/3.6/#aug-25-2018 3.4.16: https://docs.mongodb.com/manual/release-notes/3.4/#jul-10-2018 3.2.20: https://docs.mongodb.com/manual/release-notes/3.2/#may-10-2018 (End of life: September 2018) 3.0.15: Support ended February 2018 (Last release May, 2015)
Nan0
я просто не пойму, что не так с оформлением
yopp
первый аргумент в updateOne это условие, по которому надо найти документ для изменения
yopp
если вы знаете _id, используйте его там
yopp
второй аргумент — трансформации документа
yopp
вам туда нужно вставить поля которые вы хотите изменить
yopp
Прочитайте разделы Introduction и CRUD https://docs.mongodb.com/manual/introduction/ https://docs.mongodb.com/manual/crud/
yopp
там чтива на полчаса
ᅠ ᅠ ᅠ ᅠ
первый аргумент в updateOne это условие, по которому надо найти документ для изменения
спасибо за Вам за уточнения по док-е, наконец разобрался с проблемой. нужно было по отдельности просто каждое условие поля прописать и что модифицировать, таким образом: collection.updateOne(eq("_id", user_id), new Document("$set", new Document("Formatting", format)));
yopp
если вы обновляете несколько полей в одном документе, то эффективнее это делать одним запросом
ᅠ ᅠ ᅠ ᅠ
то есть полностью я прописал так: collection.updateOne(eq("_id", user_id), new Document("$set", new Document("Formatting", format))); collection.updateOne(eq("_id", user_id), new Document("$set", new Document("Sound notifications", sound))); collection.updateOne(eq("_id", user_id), new Document("$set", new Document("View links", view)));
yopp
во второй документ со списком модификауиы, в ключ $set вы можете добавить больше одного поля
yopp
collection.updateOne(eq("_id", user_id), new Document("$set", new Document("Formatting", format), new Document("Sound notifications", sound), new Document("View links", view) ) );
yopp
тьфу
yopp
там append
yopp
collection.updateOne(eq("_id", user_id), new Document("$set", new Document() .append("Formatting", format) .append("Sound notifications", sound) .append("View links", view) ) );
yopp
я плохо на java говорю
ᅠ ᅠ ᅠ ᅠ
да-да, получилось так collection.updateOne(eq("_id", user_id), new Document("$set", new Document("Formatting", format).append("Sound notifications", sound).append("View links", view)));
yopp
👍
ᅠ ᅠ ᅠ ᅠ
еще раз, спасибо
Denys
Denys
всем привет, подскажите пожалуйста, с монго работаю неделю) ловлю ошибку при npm run start: при npm run start:dev все отлично
AstraSerg
Что это за $ между чеклутлист и актив?
Denys
в интернете нашел)
AstraSerg
в интернете нашел)
:) Тады рассказывайте что нужно сделать
Denys
мне приходят данные и надо обновить их в обьекте)
AstraSerg
А ну так просто уберите $
AstraSerg
Все ключи через точку
AstraSerg
В смысле вложенность. Почитайте про дот-нотацию
Denys
..., checkoutList: [ { ..., active: false } ] такая вложенность получается
Denys
из-за того, что чекаут лист массив, я и нашел, что надо ставить доллар
Denys
ну вот, то что пишут за дот нотацию
Denys
Denys
не находит
Denys
и ошибок нету
Denys
подскажите, пожалуйста
Denys
https://docs.mongodb.com/manual/reference/operator/update/positional/#negations вот откуда доллар, но почему он работатет в дев режиме, а в продакшен нет??!!
AstraSerg
Извините, не у компа сейчас
AstraSerg
https://docs.mongodb.com/manual/reference/operator/update/positional/#negations вот откуда доллар, но почему он работатет в дев режиме, а в продакшен нет??!!
Сделайте следующее: добавьте принты в код прода и дева, что бы увидеть конечные запросы к монге. Попробуйте выполнить их через mongo shell https://docs.mongodb.com/manual/mongo/
Denis
Всем привет! Подскажите в монге есть какие то подключения к реплика сетам?
Дмитрий
Какие-то есть. Как-то подключаются