Дмитрий
Спасибо. Проблема была в том, что я делал так : /${value}/
Stan
подскажите плз как найти документ по _id ( выделил ) с динамическими ключами?
Stan
точнее не найти, а обновить элемент в массиве что то гуглю и все равно не пойму
Vlad
добрый день. подскажите, пожалуйста. у нас есть приложение на ноде. оно делает много асинхронных инсертов в монгу. в какой-то момент, в ответ от монги мы получаем ошибку topology was destroyed. что вообще означает эта ошибка, и есть ли какой-нибудь способ ее избегать ?
Andrew
Немного не по теме, но подскажите, пожалуйста, может, кто-нибудь знает какой-нибудь сервис, имеющий апи, на который можно загрузить картинку и получить ссылку?
✙ Ukraine siegt an allen fronten! 🇺🇦
Google Drive не?
DrRastafarai
Всем привет. Захожу в монго через шелл, выбираю нужную базу Хочу посмотреть коллекцию, которая есть в списке db._User.find() В ответ получаю ошибку, что _User не найден Подсказали, что могут быть проблемы с правами. Хотел сделать auth(), но у меня нету юзеров. > db.getUsers() [ ] при том, что бд работала раньше на проде( что могу делать не так?
Andrew
В плане, мне нужно не хранилище, а сервис с апи, похожий на savepice.ru
Andrew
Andrew
imgur?
Не слышал о таком, если честно)
Amber
Погугли imgur
Andrew
Спасибо, гляну
Andrew
У него же апи есть?
Andrew
imgur?
Так там же ссылка на посты, а не конкретно на картинку, такое же не вставить на сайт
DrRastafarai
такой вопрос, подключаюсь к существующей БД которая имеет коллекции, но в логе их не вижу( ЧТо не так могу делать? Моделей у меня нету (async () => { try { await mongoose.connect('mongodb://localhost:27027/solar_beam', { useNewUrlParser: true }); console.log('Mongo database is connected...'); console.log(Object.keys(mongoose.connection.collections)); } catch (e) { console.error('Mongo database isn`t connected...'); console.error(e); } })();
Дмитрий
Здраствуйте, пытаюсь сделать транзакции через mongoose в NodeJS, но не мне кажется что я что-то не правильно делаю. Кто может сказать что правильно ли я делаю транзакции? https://gist.github.com/zl0i/39095f8e6d94dd14f05815904376645c
DrRastafarai
Что-то не могу понять, почему при выполнении users.update({_id: 'WSudS771VG'}, {_hashed_password: hash('qweqwe')}, {upsert: true}) у меня очищаются все поля?
DrRastafarai
кроме пароля
Nick
используйте $set:{_hashed....}
DrRastafarai
Да, спасибо!
Daniyar
привет всем.. можно как-то сгенерировать рандомное уникальное число в коллекции не используя алгоритм findOne?
Daniyar
или можно в принципе взять все доки коллекции, и потом через луп выяснять уникальность?
Daniyar
или есть еще варианты?
Daniyar
вот это лучше да?
для больших кол-ва данных
Daniyar
а емое... можно же new Date().valueOf() сделать
Daniyar
а задача какая?
просто генерировать уникальное число рандомным образом при создании документа
Nick
а для чего? в чем сама необходимиость
Nick
так что мешает использовать стандартный id?
Daniyar
типа айди заказа
точнее номер заказа
Daniyar
нужны только числа
Nick
зачем только числа? у вас какието ограничения?
Nick
если вам нужно идентифицировать клиента и заказ, то что мешает использовать его мобильник/почту+дату
Daniyar
если вам нужно идентифицировать клиента и заказ, то что мешает использовать его мобильник/почту+дату
вообще планировалось просто для аккуратности.. раньше не было вообще.. как вы говорите по айди клиента вычисляли... просто айди теперь будет гулять и в ui (типа на общее обозрение)
Nick
надеюсь вы решаете какуюто бизнес проблему, а не просто красивости пытаетесь добавить
Daniyar
надеюсь вы решаете какуюто бизнес проблему, а не просто красивости пытаетесь добавить
вообще насколько это уместно ставить монговские id на накладнын и тд?
Nick
а какая разница
Daniyar
не знаю.. проблем не будет просто?
Daniyar
или еще че
Nick
узнайте у бухгалтеров есть ли требования в организации к идентификаторам накладных
Daniyar
хорошо
Daniyar
а так норм же?
Nick
может у вам придется уже подстраиваться под их требования
Nick
тут можно ответить норм или нет только узнав как этот id будет использоваться дальше. Если его будут загонять в систему для сверки - это одно, если курьер из стопки должен выцепить правильный заказ - это другое, если это вообще не используется кроме как для хранения в БД и связывания запросов на сайте и показу правильных данных юзеру - это вообще третье. И везде разные подходы
Nick
поэтому я сразу и спросил о бизнес потребности
Daniyar
можно сказать для курьера, для клиента
Daniyar
и для продавцв
Daniyar
он публичный будет
Nick
тогда да имеет смысл делать его простым
Daniyar
ага
Daniyar
спасибо за советы
Nick
не сильно упоротый вариант - делать номер равным количеству секунд с начала текущего дня. А в базе хранить в одном поле день и во второй время в секундах, тогда на них всместе можно построить уникальынй индекс и не бояться что будет пересечение. Плюс номер заказа тогда будет всегда 5 значный
Александр
не сильно упоротый вариант - делать номер равным количеству секунд с начала текущего дня. А в базе хранить в одном поле день и во второй время в секундах, тогда на них всместе можно построить уникальынй индекс и не бояться что будет пересечение. Плюс номер заказа тогда будет всегда 5 значный
Я примерно так же делаю, но все беру из _id на UI беру первые 8 символов из них делаю текущую дату и вычисляю нужное :) можно ничего не добавлять (а на сервере при поиске по дате формирую нужные ObjectId от и до )
Anonymous
Я как то делал похожее. В базе хранил число. При запросе брал это число и одновременно инкреметировал. На клиенте уже допиливал до красоты. Добавлял нули в начало, чтобы номер был одинаковой длинной, суффиксы/префиксы к нему (по необходимости). Минусы - узкое место программы
Nemo
Здаров народ. У меня тут вопросик от нуба, подскажите убогому плз) розчехлите с populate в mongoose Вроде юзал и понимание какое есть. но чет туплю есть 2 схемы 1 множественая(бот). 2 в юзер. у юзера их много может быть. и как мне выбрать те. которые соотвецтвуют конкретному юзеру. В принцепе я видел и ща пихну в populate условие. Но и сейчас должно же приходить все боты. с обьектами юзера в них. но их нет? или можно что по грамотней организовать?
Doniyor
Добрый день) Помогите пожалуйста с aggregate и project https://stackoverflow.com/questions/63213992/aggregate-calculate-and-project-data-in-mongodb
Дмитрий
Добрый день, может кто подсказать. Мне нужно изменить коллекцию документов, но при возникновении ошибки откатить все изменения обратно. Куда мне копать?
Дмитрий
в транзакции
Транзакции работают только для реплик или я ошибаюсь?
Дмитрий
У меня монго запущена в контейнере
Nick
и так работают
Дмитрий
и так работают
Можете тогда подсказать почему вылетает данная ошибка? UnhandledPromiseRejectionWarning: MongoError: Transaction numbers are only allowed on a replica set member or mongos
Дмитрий
Код был взят из примера https://gist.github.com/zl0i/782cecc8db5ccc2376747bb881cd586c
Nick
Nick
https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/
Nick
не знаю какие манипуляции относительно докера надо будет сделать, может быть просто найти готовый образ с нужными настройками
Lev
Здравствуйте, я работаю с mongodb из раста (с помощью wither) и у меня возникает ошибка Error: Mongo(Error { kind: ServerSelectionError { message: "Server selection timeout: No available servers. Topology: { Type: ReplicaSetNoPrimary, Servers: [ { Address: ..., Type: Unknown }, { Address: ..., Type: Unknown }, { Address: ..., Type: Unknown }, ] }" } }), что она значит?
Lev
Когда я запускаю веб сервис, у меня такая ошибка возникала ровно при каждом втором запросе, поэтому я написал костыль, который в случае неудачи повторяет запрос, но когда я запускаю тесты, то они падают с этой ошибкой несмотря на тот костыль