Al
Все это потом планирую использовать в приложении на React и Redux. Там в любом случае придется все это запихивать прямо в корзину
Igor'
Доброй ночи. Господа, подключаю mongo к Django через django_mongoengine. Отлично создаются модели, отлично добавляются данные и выводятся, кроме картинок. В чём может быть дело? Нашёл кучу туториалов, как добавлять картинки и выводить. Получается даже выводить их размер, но вот <img src="{{ i.image.url }}"> никак не хочет выводить. Пишет в коде страницы <img src="{{ unknown }}">. Может кто сталкивался с такой проблемой и подскажет, как решить. Буду очень благодарен
Igor'
Не понятно вообще, что это такое и о чём речь.
Подключаю бд mongodb к фреймворку Django с помощью данного пакета, чтобы создавать модели и работать с mongo как с реляционной бд. Соответственно, у меня это получается, кроме вывода картинок из бд на страницу в браузере. Размер картинок удается выводить, из чего можно сделать вывод, что картинки сохранены в mongodb, а сами картинки нет. Вот и меня интересует причина, почему не получается
Nick
1-ый вариант. Можно на ты:)
Тогда проверяйте сто именно сохранено в бд. Возможно либо название поля некорректно, либо сохранилось не то что ожидалось. В любом случае добавьте логирование в консоль и того что сохраняете в базу и то что вычитываете и сравните с тем что с базе.
Антон
Всем доброго дня! Подскажите как лучше сделать. Есть приложение, которое использует в качестве хранилища mongoDB. До этого одна инсталляция этого приложения работала в одном экземпляре, но захотелось сделать 2 инсталляции, но с одинаковыми данными. На уровне приложения пока нет репликации и вот захотелось её попробовать сделать на уровне MongoDB. Хочется, чтобы обе инсталляции приложения работали только с локальными БД, чтобы минимизировать сетевые задержки, а MongoDB хотелось бы настроить как Master <-> Slave, в текущей реализации запись нужна только в одной инсталяции, а в остальных только чтение. Как правильно настроить такую схему? Т.е. мне не нужна одна точка входа, нужно чтобы приложение ходило в локальную БД.
Aha
я тут экспорт хочу сделать с Атлас, запустил монго.ехе и выполнил эту команду, теперь просто три точки показывает все время, так и должно быть или как это правильно сделать?
Alexander
Всем привет
Alexander
Есть вот такая схема юзера, интересует tasks: { }
Alexander
Как правильно записывать tasks, если задач может быть множество?
Alexander
Это будет tasks.id, нужно чтобы каждый записался в БД
Alexander
@yatoba ты же шаришь)
Nick
Как правильно записывать tasks, если задач может быть множество?
Чтобы было множество - объявить массивом. Дальше только надо решить делать его вложенным или хранящимся в отдельной коллекции
first_name
Можно ли получить документы, которые не в определённом списке? (ObjectId) То есть, вот ObjectId документов: [ObjectId(...), ObjectId(...)] Нужно получить документы из коллекции, которых ObjectId нет в списке. Такое возможно?
Думаю получать рандомные 5 документов. Проверять ObjectId из списка. Если ObjectId всех 5-и документов окажутся в списке, то запрашивать ещё 5 документов. И так далее...
first_name
Ещё вопрос: .find_one({"data": {"poll_id": poll_id}}) не отдаёт ничего, хотя документ есть. Что я сделал не так?
Nick
Ещё вопрос: .find_one({"data": {"poll_id": poll_id}}) не отдаёт ничего, хотя документ есть. Что я сделал не так?
если нужно проверить только значене по пути то надо через точку - data.poll_id: poll_id
Nick
а у вас условие выглядит как "найти доки в каоторых поле data совпадает с объектом "{poll_id: x}"
Jamal
hubstaff у вас работает ?
Даниил
Всем привет! У меня монга крашилась с ошибкой Illegal hardware instructions, я даунгрейднул до 4.4. Теперь под рутом при sudo mongod --config ... запускается, сидит и ничего не пишет (при этом бд не запущено), а под юзером mongodb запускается и выходит. Что делать?
Евгений
sudo service mongod status
Евгений
Что пишет?
Даниил
Что пишет?
Сервис называется mongodb. Там логов никаких, просто крашится через 100 миллисекунд
Евгений
Сама монга при этом работает?
Даниил
Нет
Евгений
Почему?
Даниил
Вот в этом и вопрос)
Евгений
Сама база на какой операционке должна работать?
Евгений
Я так понимаю на Линуксе каком-то
Евгений
sudo service mongod status в терминал введи и посмотри что будет в ответе
Даниил
Я поправил права на /var/lib/mongodb, теперь оно и из-под юзера mongodb не крашится
Даниил
Но бд-то не работает
Евгений
mongod
Alexander
Как правильно делать запись в tasks если объектов может быть не 1 ? Чтобы в конечном итоге получить: { id: 1, Time: 1 }, { id: 2, Time: 2 } и тд
Vyacheslav
держи, брат
Leksey
всем привет вопросик образовался изучаю pbm (Percona Backup for MongoDB - https://docs.percona.com/percona-backup-mongodb/) появилось много вопросов возможно у кого-то будет желание ответить документация не отвечает на все вопросы в golang не силен, сорцы не удалось нормально изучить ставить надо pbm как понял на все ноды secondary и primary на все кроме арбитра здесь ок, понятно вопрос 1 как снимается бэкап? обычным mongodump --oplog? вопрос 2 насколько понял, неважно где запускать pbm backup хоть на primary, хоть на secondary pbm сам выберет ноду для бэкапа (сам или по приоритетам) вопрос 3 нода с которой снимается бэкап будет недоступен? или как?
MDWIT
Всем привет, подскажите в монге все еще не стоит использовать связи? Или что-то изменилось с тех времен?
Yuri
Привет, пытаюсь проапдейтить всю таблицу используя mongoose, но значение поля выставляется в обычную строку ‘$lat’, а не в значение поля ‘lat’. Такое вообще возможно провернуть через mongoose?
Nick
Привет, пытаюсь проапдейтить всю таблицу используя mongoose, но значение поля выставляется в обычную строку ‘$lat’, а не в значение поля ‘lat’. Такое вообще возможно провернуть через mongoose?
через монгуз хз, но для обновления с использованием данных обновляемого документа надо использовать апдейт с агрегацией https://www.mongodb.com/docs/manual/tutorial/update-documents-with-aggregation-pipeline/
Andrew
Народ всем хай. У меня такой вопрос: При использовании findOneAndUpdate, как я могу добавить туда поле, только в том случаи, если у меня найден объект? Пробовал что то по типу: const user = await models.Users.findOne({ _id: id }) const test = await models.Test.findOneAndUpdate({ _id: id }, { firstName, lastName, age: user ? user.age : null, }); Но тогда поле age остаётся
Andrew
Мне надо поле age добавлять только в том случаи, если user нашёлся, а если его нету, надо это поле удалять. Понимаю что нужно использовать $unset, но ума не хватает понять куда его нужно вставить)
Georgius 🇺🇦🍉✙🐆
Всем привет! Подскажите как добавить новое поле из вытянутой из базы модель? Например у меня есть const tier = tierModel.find() и как им способом уже в программе можно добавить новое поле?
Nick
Всем привет! Подскажите как добавить новое поле из вытянутой из базы модель? Например у меня есть const tier = tierModel.find() и как им способом уже в программе можно добавить новое поле?
если в объект полученный из базы - то так кк это принято в вашем языке при работе с объектами, если добавить поле в доке в базу - то выполнить апдейт
Andrew
примерно так ( {_id:id}, { $set:{ firstName, lastName }, $unset: {age:""} } )
Но тогда не будет устанавливаться age поле когда нахожу user
Georgius 🇺🇦🍉✙🐆
если в объект полученный из базы - то так кк это принято в вашем языке при работе с объектами, если добавить поле в доке в базу - то выполнить апдейт
Добавить в полученный объект из базы. Так как этот объект монговский, то просто добавить не получится, видимо есть механизм блокирующий это, поэтому нужен другой способ.
Nick
Но тогда не будет устанавливаться age поле когда нахожу user
так берете if и когда надо ставите, когда не надо не ставите
Nick
Добавить в полученный объект из базы. Так как этот объект монговский, то просто добавить не получится, видимо есть механизм блокирующий это, поэтому нужен другой способ.
не вижу проблем, монговские объекты - документы внутри базы, а как только это попало в к вам, то это уже объекты вашего софта
Andrew
так берете if и когда надо ставите, когда не надо не ставите
так я и не пойму в какое место его и засунуть)) в $set я ж иф не могу засунуть)
Andrew
ага, я думал просто мб есть другой способ
Nick
другой способ - апдейт с агрегацией https://www.mongodb.com/docs/manual/tutorial/update-documents-with-aggregation-pipeline/ где вы можете навертеть условий трансформаций
Leksey
день добрый! вопрос реплика psa (primary , secondary , arbiter) есть желание проапгрейдить патч версию у всех 3-х нод как лучше всего сделать? можно отключить secondary, далее апгрейд secondary и включить его? выйдет что у двух mongodb серверов одна версия, а у одного secondary другая потом secondary на primary сменим и опять апгрейд без даунтайма желательно
Leksey
звучит реально mongo дока говорит о том, что следует начинать с secondary но не вижу ничего про даунтайм
Андрей
звучит реально mongo дока говорит о том, что следует начинать с secondary но не вижу ничего про даунтайм
Реплика сеты спокойно апгрейдятся без даунтайма доступа к данным по описанной оф доке.
Maksim
Добрый вечер. Не подскажете, как можно вывести все name из объекта, который в массиве? pymongo {"_id":{"$oid":"623eba9e4e4677b3e6fa1ab0"}, "list":[{"name":"qwerty","date":{"$date":"2022-04-04T14:47:07.916Z"}},{"name":"asdfgh","date":{"$date":"2022-04-04T16:37:27.775Z"}}]}
Владимир
можно ли получить только массив емайлов без самого докумуента?
Nick
можно ли получить только массив емайлов без самого докумуента?
нет, в любом случае будет док хотя бы с одним полем
Владимир
Dm
это расширение?
Нет, это штатная возможность MongoDB.
Владимир
ок спс
Владимир
погуглю..
Dm
ок спс
Попробуй db.collection.find({}, {"emails": 1}); https://www.mongodb.com/docs/v4.4/tutorial/project-fields-from-query-results/#return-all-fields-in-matching-documents
fenogentov
Для изучения и тренировки есть какие нибудь базы? Онлайн или скачать?
fenogentov
есть необходимость поведения некоторых функций. Для этого надо нужно подергать какую нибудь базу, но нет желания в ручную ее набивать
fenogentov
пытаюсь сделать такой запрос db.ferretdb.insertMany( [ {"item" : "abc123", "qty" : 101 , "abc":10}, {"item" : "xyz123", "qty" : 201 , "abc":20}, {"item" : "ijk123", "qty" : 301 , "abc":30}, {"item" : "abc123", "qty" : 401 , "abc":40}, {"item" : "xyz123", "qty" : 501 , "abc":50}, {"item" : "ijk123", "qty" : 601 , "abc":60} ] ) db.getCollection("ferretdb").find({qty:{$mod:["$abc",1]}}) естественно ругается Как сделать запрос чтобы использовать поле abc?
Danil
Здравствуйте, а кто-то знает как редактировать вложенные поля pymongo? v = { '_id': 1 'item': { 'slot_1': None, 'slot_2': 'Apple' } } collection.update_one({'_id': 1}, {"$set": {"item": {"slot_1": 'banana'}}}) И изза этого апдейта пропадает слот 2, как мне изменять, а не удалять поле и пересоздавать?