Дмитрий
Спасибо. Проблема была в том, что я делал так :
/${value}/
Stan
подскажите плз
как найти документ по _id ( выделил ) с динамическими ключами?
Stan
точнее не найти, а обновить элемент в массиве
что то гуглю и все равно не пойму
Vlad
добрый день. подскажите, пожалуйста.
у нас есть приложение на ноде. оно делает много асинхронных инсертов в монгу. в какой-то момент, в ответ от монги мы получаем ошибку topology was destroyed. что вообще означает эта ошибка, и есть ли какой-нибудь способ ее избегать ?
Andrew
Немного не по теме, но подскажите, пожалуйста, может, кто-нибудь знает какой-нибудь сервис, имеющий апи, на который можно загрузить картинку и получить ссылку?
✙ Ukraine siegt an allen fronten! 🇺🇦
Google Drive не?
DrRastafarai
Всем привет.
Захожу в монго через шелл, выбираю нужную базу
Хочу посмотреть коллекцию, которая есть в списке
db._User.find()
В ответ получаю ошибку, что _User не найден
Подсказали, что могут быть проблемы с правами.
Хотел сделать auth(), но у меня нету юзеров.
> db.getUsers()
[ ]
при том, что бд работала раньше на проде(
что могу делать не так?
Nick
Andrew
В плане, мне нужно не хранилище, а сервис с апи, похожий на savepice.ru
Andrew
Amber
Andrew
imgur?
Не слышал о таком, если честно)
Amber
Погугли imgur
Andrew
Спасибо, гляну
Andrew
У него же апи есть?
Andrew
imgur?
Так там же ссылка на посты, а не конкретно на картинку, такое же не вставить на сайт
Amber
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
Daniil
DrRastafarai
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() сделать
Nick
Daniyar
а задача какая?
просто генерировать уникальное число рандомным образом при создании документа
Nick
а для чего? в чем сама необходимиость
Daniyar
Nick
так что мешает использовать стандартный id?
Daniyar
Daniyar
нужны только числа
Nick
зачем только числа? у вас какието ограничения?
Nick
если вам нужно идентифицировать клиента и заказ, то что мешает использовать его мобильник/почту+дату
Nick
надеюсь вы решаете какуюто бизнес проблему, а не просто красивости пытаетесь добавить
Daniyar
Nick
а какая разница
Daniyar
не знаю.. проблем не будет просто?
Daniyar
или еще че
Nick
узнайте у бухгалтеров есть ли требования в организации к идентификаторам накладных
Daniyar
хорошо
Daniyar
а так норм же?
Nick
может у вам придется уже подстраиваться под их требования
Nick
тут можно ответить норм или нет только узнав как этот id будет использоваться дальше. Если его будут загонять в систему для сверки - это одно, если курьер из стопки должен выцепить правильный заказ - это другое, если это вообще не используется кроме как для хранения в БД и связывания запросов на сайте и показу правильных данных юзеру - это вообще третье. И везде разные подходы
Nick
поэтому я сразу и спросил о бизнес потребности
Daniyar
можно сказать для курьера, для клиента
Daniyar
и для продавцв
Daniyar
он публичный будет
Nick
тогда да имеет смысл делать его простым
Daniyar
ага
Daniyar
спасибо за советы
Nick
не сильно упоротый вариант - делать номер равным количеству секунд с начала текущего дня. А в базе хранить в одном поле день и во второй время в секундах, тогда на них всместе можно построить уникальынй индекс и не бояться что будет пересечение. Плюс номер заказа тогда будет всегда 5 значный
Daniyar
Александр
Anonymous
Я как то делал похожее.
В базе хранил число. При запросе брал это число и одновременно инкреметировал.
На клиенте уже допиливал до красоты. Добавлял нули в начало, чтобы номер был одинаковой длинной, суффиксы/префиксы к нему (по необходимости).
Минусы - узкое место программы
Nemo
Здаров народ. У меня тут вопросик от нуба, подскажите убогому плз)
розчехлите с populate в mongoose
Вроде юзал и понимание какое есть. но чет туплю
есть 2 схемы 1 множественая(бот). 2 в юзер. у юзера их много может быть.
и как мне выбрать те. которые соотвецтвуют конкретному юзеру.
В принцепе я видел и ща пихну в populate условие. Но и сейчас должно же приходить все боты. с обьектами юзера в них. но их нет?
или можно что по грамотней организовать?
Doniyor
Добрый день) Помогите пожалуйста с aggregate и project
https://stackoverflow.com/questions/63213992/aggregate-calculate-and-project-data-in-mongodb
Дмитрий
Добрый день, может кто подсказать. Мне нужно изменить коллекцию документов, но при возникновении ошибки откатить все изменения обратно. Куда мне копать?
Nick
Дмитрий
в транзакции
Транзакции работают только для реплик или я ошибаюсь?
Дмитрий
У меня монго запущена в контейнере
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
Когда я запускаю веб сервис, у меня такая ошибка возникала ровно при каждом втором запросе, поэтому я написал костыль, который в случае неудачи повторяет запрос, но когда я запускаю тесты, то они падают с этой ошибкой несмотря на тот костыль