yopp
Влад
кстати, забыл еще сказать, если через компас подключиться, можно тоже увидеть схемы на коллекциях)
Влад
yopp
Для миграций append only это самая безопасная стратегия
yopp
Не могу сходу найти обсуждение, поищите по словам forward миграции, append only миграции в группе. Эта проблема достаточно часто всплывает. Кажется пора заводить групповую KB
Али
Кто-нибудь знает где можно найти инструкцию, чтоб бэкапы делались автоматически каждый день?
Hov.
✙ Nikita
Можете пожалуйста подсказать, если нужно хранить сумму транзакции в бд, с точностю до двух знаков после запятой, можно ли обойтись обычным Number? (и не хранить там челым числом например копейки, и не использовать String / Decimal128)?
Влад
Нет, не целые числа хранить нельзя
Влад
https://docs.mongodb.com/manual/tutorial/model-monetary-data/
Влад
Хз что это за задача такая, где в финансах позволительны потери, но в памяти, используя обычные численные типы невозможно точно сохранить число с периодической дробной частью
Влад
У тебя было 1.3,ты достаёшь будет 1.299999 и все в таком духе
Влад
Лучше сразу сделать в интах, только смотри, что бы тебе по суммам транзакций хватило числа которое влазит в инт32) иначе возьми лонг, ну или decimal128
✙ Nikita
Влад
У меня была ситуация, я сохранял числа, монга присваивала полям тип инт32. Я их постоянно инкрементироаал и в какой-то момент они превысили лимит инт32 и у меня валились запросы с ошибками, потому что монга после создания документа привязывает за полем его тип и не станет менять инт32 на инт64, только удалить поле и добавлять заново
Влад
Ну у меня валидации на уровне субд если что
✙ Nikita
Понял спасибо, буду тогда наверное просто копейки хранить, хотя теперь главное не забыть разделить где то на 100 при выводе этой инфы)
V
в чем может быть проблема?
Vened
V
Anonymous
Сейчас хакеры набегут
Vened
в чем может быть проблема?
пробовали?
https://stackoverflow.com/questions/52535985/couldnt-connect-to-server-127-0-0-127017-connection-attempt-failed-mongodb
V
Vened
А локально удается к монге прицепиться? На самом сервере?
Vened
Снаружи, кстати, порт 27017 на этом адресе недоступен.
V
Vened
V
Anonymous
А в самом монго конфиге не могут ограничения стоять?
Vened
ufw открыт говорит
Сканеры портов говорят, что снаружи этот порт недоступен. А уж кто врёт - не знаю
Vened
Хотя стоп... сорри, это не полный скан (
V
Vened
Не знаю. но кто-то врёт однозначно
yopp
по-умолчанию это loopback: 127.0.0.1
V
yopp
если у хоста нет других интефейсов, то пропишите просто 0.0.0.0
yopp
тогда она будет слушать на всех интерфейсах
yopp
и обязательно включите аутентификацию
yopp
иначе через пару часов у вас там не будет данных и будет требование заплатить 500$ биткойном
Herman
всем добрый вечер, не могу написать нормально запрос на получаение всех номер карт юзера, получаю вот что🤔
Herman
Herman
Herman
а мне нужно отфильтровать по айди юзера и получить все обьекты в массиве
Herman
у которых поле userId будет совпадать
Herman
проблема в том, чтобы мне к тому что еще получаю надо получить номера платежных карт юзера
SuleYman
Приветствую, подскажите ребята почему у меня записи в монго какие-то объекты имеют поле $oid, а у некоторых этого поля нет ??
Максим
Dmytro
Всем привет, у меня монгуз
Dmytro
app.get('/populate', async (_, res: Response) => {
await connect();
const users = [
{ firstName: 'Emma', lastName: 'Bradley', age: 34 },
{ firstName: 'Elise', lastName: 'Conner', age: 62 },
{ firstName: 'Jack', lastName: 'Lawson', age: 20 },
{ firstName: 'Oliver', lastName: 'Moss', age: 80 },
{ firstName: 'Jamie', lastName: 'Reid', age: 52 },
{ firstName: 'Aidan', lastName: 'Bradley', age: 73 },
{ firstName: 'Jordan', lastName: 'Gallagher', age: 27 },
{ firstName: 'Erin', lastName: 'Miles', age: 23 },
{ firstName: 'William', lastName: 'May', age: 39 },
{ firstName: 'Ethan', lastName: 'Butler', age: 68 },
];
try {
for (const user of users) {
await UserModel.create(user);
console.log(`Created user ${user.firstName} ${user.lastName}`);
}
await disconnect();
} catch (e) {
console.error(e);
}
res.send({
message: 'ok',
});
});
Dmytro
при первом вызове /populate
Dmytro
я успешно делаю insert операцию
Dmytro
обновляю страницу, вызываю запрос еще раз
Dmytro
получаю
```MongooseError: Operation users.insertOne() buffering timed out after 10000ms
at Timeout.<anonymous> (/Users/dkryshtopenko/WebstormProjects/kryshdotos/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:184:20)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)```
Dmytro
С чем может это быть связано?
Kenan
create вроде deprecated? ne?
Dmytro
рестартую сервер, еще раз выполняю - всё ок. 2+ попытки - исключение
Dmytro
Я не знаю.
Kenan
save вроде нужно юзать
Dmytro
https://mongoosejs.com/docs/api.html#model_Model.create
Dmytro
свежак.
Dmytro
Метод не устаревший от слова совсем.
Dmytro
"mongoose": "^5.11.8",
Kenan
хм, значит я что-то перепутал
Kenan
Dmytro
А я через statics делаю, играю по правилам монгуза
Dmytro
Herman
У меня работает, я ток получаю не все что мне хочется:(
Dmytro
ну вот моя схема
Dmytro
const UserSchema = new Schema({
firstName: String,
lastName: String,
age: Number,
dateOfEntry: {
type: Date,
default: new Date(),
},
lastUpdated: {
type: Date,
default: new Date(),
},
});
Dmytro
монгодб автоматом же создает первичный ключ
Dmytro
вот как я создаю модель
export const UserModel = model<IUserDocument>('user', UserSchema);
Dmytro
Dmytro
вот что записало в конечном итоге
Anton
Ребзя а есть какие-то идеи как построить Compound Index по $nor запросу