Владимир
Владимир
Nick
Nick
Оно не использует _id
Nick
Владимир
мне нужно просто брать последний элемент колллекции из триллиона записей
Владимир
я не знаю как еще объяснить что сортировка не моё
Nick
И да трилик не так и много, в зависимости от железа не больше недели на простройку индекса, который потом будет почти полностью выгружен из памяти
Владимир
Nick
Можно это на changeStream-ах сделать
Владимир
а хочется все по красоте писать)
Владимир
Nick
это не по красоте а по печали)
Именно что по красоте, красота не во вбивании костылей, а в четкой структуре, решающей задачи без этих самых крстылей.
Владимир
Nick
Скажем так по красоте было бы, если бы вы могли сразу использовать сортировку и даже не задумываться о других способах
Nick
Nick
Для _id есть дефолтный
Владимир
напрямую
Nick
Владимир
через сорт?!?!??!
Nick
Да, планировщик достаточно умен, чтобы вытащить ровно один элемент за два чтения с диска
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 нет
Nick
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] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение')>]>
Либо указать правильный адрес вместо локалхоста, либо поднять базу на правильном порту
Anonymous
Правильный адрес?
Anonymous
Это как
Nick
Адрес монги при подключении
Anonymous
Ну, в каком смысле тот адрес который я указал неправильный
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");
}
}
);
P1GAS
Приветик! Новичок, помогите). Отправляю запрос - вылетает ошибка 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");
}
}
);
В catch блоке консольте или отправляйте ошибку клиенту, да и это не ошибка монги, идите сюда: https://t.me/nodejs_ru
Marjushka
Спасибо!
Fra®
Здравствуйте,как в модели юзера монго дб, обозначить фото пользователя телеграм?
Fra®
ZDev | Разработчик
ZDev | Разработчик
Да и при чём тут разработчик?)
Fra®
А может быть и ид пользователя?
Fra®
Индитификатором картинки пользователя
Milwad
.
Морозов
твой путь тоже хорош
Добрый вечер. Кто-нибудь знает как в pymongo получить последние значения перед агрегированием?
Морозов
🐈KittenDEV | ChEcK BiO
уже 4 раз обращаюсь по поводу этой ошибки, но решения все нет и нет. неужели невозможно исправить данную ошибку?
Aleksan
Дима
Привет. Такой вопрос, например есть запрос 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
Nick
Привет. как можно с этово массива [
{ _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’
]
в любом случае поулчится документ с полем-массивом, а чисто массив не получить. Чтобы просто все собрать можно использова $group с _id: null и $push нужных значений в массив
Морозов
Aziz
Привет! Почему никто не пишет что всех заблокировалли ?
Aziz
Не увидел сообщения о санкциях. Теперь не дают зайти чтобы скачать дамп
Морозов
Aziz
Морозов
Давайте решим куда теперь: Sber или Yandex?
Dmitry
ну сбер априори помойка
Морозов
Морозов