Владимир
Порядок монгой не гарантируется в этом случае и последним могут быть разные доки даже в последовательных запросах. Так что единственный вариант это определить что значит последний относительно полей в доке (время какоето или ид или метка или еще что) и делать соответствующую выборку с сортировкой
сам _id генерируемы автоматически уже содержит в себе тайштамп, можно сортировать уверенно по нему, вопрос не в этом мне нужно брать последний элемент без всякой лишней чепухи типа сортировок и прочего
Nick
Оно не использует _id
Владимир
мне нужно просто брать последний элемент колллекции из триллиона записей
Владимир
я не знаю как еще объяснить что сортировка не моё
Nick
мне нужно просто брать последний элемент колллекции из триллиона записей
Как и писал выше вы должны явно определить что значит последний и сделать сортировку, других вариантов нет
Nick
И да трилик не так и много, в зависимости от железа не больше недели на простройку индекса, который потом будет почти полностью выгружен из памяти
Nick
Как и писал выше вы должны явно определить что значит последний и сделать сортировку, других вариантов нет
Ах да, есть варианты но они за пределами монги реализуются, сделайте например коллекцию отдельную с одним доком и туда сохраняйте последний, если уж индексация вас не устраивает
Nick
Можно это на changeStream-ах сделать
Владимир
а хочется все по красоте писать)
Nick
а хочется все по красоте писать)
По красоте - сортировка или перепроектирование
Владимир
Nick
это не по красоте а по печали)
Именно что по красоте, красота не во вбивании костылей, а в четкой структуре, решающей задачи без этих самых крстылей.
Владимир
Именно что по красоте, красота не во вбивании костылей, а в четкой структуре, решающей задачи без этих самых крстылей.
по красоте перебрать триллион записей когда заведомо известно что нужно взять последний в коллекции?
Nick
Скажем так по красоте было бы, если бы вы могли сразу использовать сортировку и даже не задумываться о других способах
Владимир
Зачем перебирать? Индексы на что?
по дефолту индексов нет как я понимаю?
Nick
Для _id есть дефолтный
Владимир
Для _id есть дефолтный
тогда как обратиться к последнему в коллекции?
Владимир
напрямую
Владимир
через сорт?!?!??!
Nick
Да, планировщик достаточно умен, чтобы вытащить ровно один элемент за два чтения с диска
Nick
А если все в памяти то и за ноль
Владимир
тоесть он физически не будет перебирать всю коллекцию или будет?
Nick
Да, не будет
Владимир
что да?
Владимир
и как я понимаю практика лучший способ подтвердить теорию сгенрю ....ард записей и проверю один запрос на пустой базе и на полной позже отпишу
Nick
Главное использовать explain для проверки плана выполнения запроса
Nick
если требуется выдавать доступ этим компаниям к их бд - оправдано, если требуется разгранивать данные по какимто доп требованиям самого сервиса - тоже, если есть большие компании, которые требуют отдельного менеджмента БД в части ресурсов - подойдет, но в целом оверкил конечно и когда у вас пользователей-компаний будет больше 1000 вам станет тяжко это мониторить и могут повылезать какиенить проблемы с файловыми дексрипторами которые поставят раком инстанс монги
Nick
а это от БД не зависит, такие же проблемы будут везде
Nick
так то да, надо смотреть какие спецы есть на проекте и ориентироваться в первую очередь на это
Anonymous
Подскажите как решить эту ошибку
Anonymous
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [WinError 10061] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение, Timeout: 30s, Topology Description: <TopologyDescription id: 623707bdfcc5b81d1a54df38, topology_type: Single, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [WinError 10061] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение')>]>
Nick
Связи есть, foreign keys нет
Anonymous
Правильный адрес?
Anonymous
Это как
Nick
Адрес монги при подключении
Anonymous
Ну, в каком смысле тот адрес который я указал неправильный
Danil
Ну, в каком смысле тот адрес который я указал неправильный
В монге там где ip addres поставь на 0.0.0.0/0 или просто 0.0.0.0, я уже не помню.
Danil
Ну тоесть доступ и там разрешенные айпишники
ZDev | Разработчик
Привет всем, извиняюсь за оффтоп, но: остались ли места где можно купить +- хороший ноутбук за 60-65к?
winterfall
смотря что в твоём понимании хороший
Андрей
Ни спеков ни даже валюты в вопросе, но зато "Разработчик" в нике 😀.
Marjushka
Приветик! Новичок, помогите). Отправляю запрос - вылетает ошибка 500 ("Something went wrong...Try again") , при том факте, что есть connection с MongoDb. Как искать ошибку? router.post( "/register", [ check("email", "Email is incorrect").isEmail(), check("password", "Password is incorrect. Min length is 6").isLength({ min: 6, }), ], async (req, res) => { const errors = validationResult(req); if (!errors.isEmpty) { return res .status(400) .json({ errors: errors.array(), message: "The data is incorrect" }); } try { const { email, password } = req.body; const candidate = await User.findOne({ email }); if (candidate) { return res.status(400).json({ message: "This User is already exists" }); } const hashedPassword = await bcrypt.hash(password, 12); const user = new User({ email, password: hashedPassword }); await user.save(); res.status(200).json({ message: "User was created" }); } catch (e) { res.status(500).json("Something went wrong...Try again"); } } );
Marjushka
Спасибо!
Fra®
Здравствуйте,как в модели юзера монго дб, обозначить фото пользователя телеграм?
ZDev | Разработчик
Да и при чём тут разработчик?)
Fra®
А может быть и ид пользователя?
Fra®
Индитификатором картинки пользователя
Milwad
.
Морозов
твой путь тоже хорош
Добрый вечер. Кто-нибудь знает как в pymongo получить последние значения перед агрегированием?
🐈KittenDEV | ChEcK BiO
уже 4 раз обращаюсь по поводу этой ошибки, но решения все нет и нет. неужели невозможно исправить данную ошибку?
Дима
Привет. Такой вопрос, например есть запрос updateMany, есть строки например balance, salary, можно как-то к balance прибавить это salary без find()?
Морозов
Привет. У меня недоступен облачный Mongo без VPN сегодня с 20:16. Как у вас дела?
Морозов
Добрый вечер. У кого- нибудь есть опыт yandex.cloud mongo?
Artur
Привет. как можно с этово массива [ { _id: null, templateIds: ‘623441b3cb9c804a28f705ce’ }, { _id: null, templateIds: ‘623441b3cb9c804a28f705ce’ }, { _id: null, templateIds: ‘623441b3cb9c804a28f705ce’ }, { _id: null, templateIds: ‘62344214cb9c804a28f705d2’ }, { _id: null, templateIds: ‘62344214cb9c804a28f705d2’ }, { _id: null, templateIds: ‘62344214cb9c804a28f705d2’ } ] получить такой массив с помощью mongo aggregate [ ‘623441b3cb9c804a28f705ce’ , ‘623441b3cb9c804a28f705ce’ , ‘623441b3cb9c804a28f705ce’ , ‘62344214cb9c804a28f705d2’ , ‘62344214cb9c804a28f705d2’ , ‘62344214cb9c804a28f705d2’ ]
Nick
Привет. У меня недоступен облачный Mongo без VPN сегодня с 20:16. Как у вас дела?
есть такая проблема сайт не открывается, сами базы работают
Морозов
есть такая проблема сайт не открывается, сами базы работают
Датчики не пишут в базу. Там где они есть, там нет vpn.
Aziz
Привет! Почему никто не пишет что всех заблокировалли ?
Aziz
Не увидел сообщения о санкциях. Теперь не дают зайти чтобы скачать дамп
Морозов
Привет! Почему никто не пишет что всех заблокировалли ?
Я могу подключиться через Mongo Compass без VPN и скачать.
Морозов
Aziz
Я могу подключиться через Mongo Compass без VPN и скачать.
Ну значит повезло. Еще не дошли до вас
Морозов
Давайте решим куда теперь: Sber или Yandex?
Dmitry
ну сбер априори помойка
Морозов
ну сбер априори помойка
По ценам нужно сравнить. Yandex - 1000р/мес точно.
Морозов