R-lion
R-lion
я решил проблему
Eva🇺🇦
🤟🤟
R-lion
Я в шоке
R-lion
Alex
Всем привет! Ребят а может кто-то подсказать касательно производительности mongo_db. Есть агрегация и она работает не так быстро как бы хотелось. Там порядка 7 млн записей в коллекции. Но предполагается намного больше в будущем. Так вопрос в том, можно ли оптимизировать эту агрегацию или стоит изменить структуру данных? хотя меня не покидает мысль о том, что лучше использовать другую БД для таких целей. Пример агрегации в файле
Alexander
Йо, у кого-нибудь было такое, что show dbs показывает мои бд, но в MongoDB Compass их нет?
Eva🇺🇦
Alexander
Alexander
mongod запускается в WSL, Compass на Windows. С утра все нормально работало.
Alexander
Отбой, сам виноват. Оказалось на фоне в Windows работал собственный процесс mongod, вот Компас к нему и коннектился.
Nick
Антон
подскажите, пожалуйста, как лучше хранить и делать выборку по ip? md5 ip адреса подойдет или есть какой то более оптимальный способ?
Nick
Nick
Быстрее только числом хранить и по нему индекс строить
Антон
Антон
Andrey
Mike
Осваиваю mongodb. Пишу приложение nestjs + mongoose + typescript.
У меня есть постоянная проблема с типизацией виртуальных полей.
Приведу пример и объясню суть.
К примеру есть схема юзера:
@Schema({ toJSON: { virtuals: true }, toObject: { virtuals: true } })
export class User {
@Prop({ required: true })
email: string;
@Prop({ required: true })
password: string;
}
когда я получаю документ юзера я имею такую структуру:
{
_id: 61205e32ac6ca237401712ec,
email: 'example@example.net',
__v: 0,
id: '61205e32ac6ca237401712ec'
}
Первые три поля как я понимаю реальные поля, которые хранятся в базе, а последнее поле "id" - виртуальное.
Так вот, проблема в том, что когда я получаю этот объект юзера, я ставлю ему тип как User(из схемы) а там кроме email и password полей никаких больше не указано, по этому тайпскрипт начинает ругаться, что поля "id" нет в типе User.
Окей, пошел я в офф. докумангуста, смотреть что-там по тайпскрипту.
В доках пишут, что можно создать интерфейс вместе со схемой:
interface User {
name: string;
email: string;
avatar?: string;
// возможно сюда нужно добавлять поля "_id" и "id" для каждой схемы?
}
// 2. Create a Schema corresponding to the document interface.
const schema = new Schema<User>({
name: { type: String, required: true },
email: { type: String, required: true },
avatar: String
});
...и вот тут я подумал, что в интерфейс как раз можно добавить поля "_id" и "id"
Но здравый смысл мне подсказывает, что это плохое решение, так как айдишники нужно в каждой схеме дублировать, и что должно быть другое решение, которое я так и не смог найти.
Подскажите пожалуйста как вообще это грамотно решить?
Mike
Vladimir
Осваиваю mongodb. Пишу приложение nestjs + mongoose + typescript.
У меня есть постоянная проблема с типизацией виртуальных полей.
Приведу пример и объясню суть.
К примеру есть схема юзера:
@Schema({ toJSON: { virtuals: true }, toObject: { virtuals: true } })
export class User {
@Prop({ required: true })
email: string;
@Prop({ required: true })
password: string;
}
когда я получаю документ юзера я имею такую структуру:
{
_id: 61205e32ac6ca237401712ec,
email: 'example@example.net',
__v: 0,
id: '61205e32ac6ca237401712ec'
}
Первые три поля как я понимаю реальные поля, которые хранятся в базе, а последнее поле "id" - виртуальное.
Так вот, проблема в том, что когда я получаю этот объект юзера, я ставлю ему тип как User(из схемы) а там кроме email и password полей никаких больше не указано, по этому тайпскрипт начинает ругаться, что поля "id" нет в типе User.
Окей, пошел я в офф. докумангуста, смотреть что-там по тайпскрипту.
В доках пишут, что можно создать интерфейс вместе со схемой:
interface User {
name: string;
email: string;
avatar?: string;
// возможно сюда нужно добавлять поля "_id" и "id" для каждой схемы?
}
// 2. Create a Schema corresponding to the document interface.
const schema = new Schema<User>({
name: { type: String, required: true },
email: { type: String, required: true },
avatar: String
});
...и вот тут я подумал, что в интерфейс как раз можно добавить поля "_id" и "id"
Но здравый смысл мне подсказывает, что это плохое решение, так как айдишники нужно в каждой схеме дублировать, и что должно быть другое решение, которое я так и не смог найти.
Подскажите пожалуйста как вообще это грамотно решить?
Мне предложили юзать DTO, то есть пишешь ещё один класс, и кстати там ещё обвязываешь ApiProperty
Mike
Vladimir
export class UserDto extends TimestampsDto {
@ApiProperty({
example: '610d5969377c743463ef3aa1',
})
_id: string;
@ApiProperty({
example: 'User',
})
name: string;
@ApiProperty({
example: 'test@test.test',
})
email: string;
Mike
Den
Подскажите, в чем может быть проблема?
sudo systemctl status mongod
● mongod.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
Den
sudo systemctl enable mongod.service
Failed to execute operation: No such file or directory
Den
systemctl list-unit-files --type=service
mongodb.service enabled
Den
Ну и, соответственно...
Mongoose connection "error" event fired with:
{ MongoError: failed to connect to server [localhost:27017] on first connect
Михаил
Denis
Ребята, подскажите пожалуйста, есть инструменты для автоматического построения er диаграмм бесплатные?
Vladimir
Приветствую подскажит кто что делать ?
вот таким образом сделал юзера,
=> db.createUser({user:"***",pwd:"***1",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
получил ответ
=>ccessfully added user: {
"user" : "***",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Не пускае (( что делать ?
Хикмат Тураев
привет ребята
Хикмат Тураев
Александр
Добрый день. Подскажите пожалуйста, импортирую json с рабочего стола. Почему не получается ?
Joe
Александр
Александр
Joe
Александр
Александр
Просто, не пойму, как импортировать
Александр
Александр
Joe
Вижу
Поэтому и говорю
Джсон не вывезет все мои данные в 1 файл пихать)
Александр
Joe
Александр
Что то не получилось и с bson
Мағжан
Всем привет я новичек по Монго и мне не понятно один момент.
У меня есть колекции Users, Country. И мне нужно обновить колекцию Users, а именно добавить countryId. Это вроде легко с помощью $set. Так вот если я таким образом просто добавлю новый field к записи то сохранится ли связки между коллекциями? что бы можно было получить expand версию юзера и в нем была вся информация? За ранее спасибо
Kaizoku
Привет. Вопрос имеется коллекция
{
time: number,
name: string,
data: object {
items1: object[] {id: number, classId: number},
items2: object[] {id: number, classId: number}
}
Есть ли способ найти все записи где в items1 || items2 имеется объект где classId in search[]
Kaizoku
Лимитировать это дело 100 записей. И сортировать по time
Kaizoku
Записей 3миллиона и размер гигабайт
Александр
добрый день. Подскажите пожалуйста.... match - это полное совпадение в строке, а мне нужно, например вернуть все документы , где в значение поля "arr_ttt" содержится "arr", как это написать ? Пробовал через match, regex, in - не получилось
Александр
Aryn
Всем привет!
Подскажите, есть коллекция accounts.
Как выполнить поиск по _id?
Пример: 61251ce9472ea681c8d7e7fb
fλüggåɘnk∂€čhiœßøλ∫ên
Aryn
Aryn
не получается
Pavel
Добрый вечер всем. Здесь есть фулстэк разработчики nodejs mongodb express?
fλüggåɘnk∂€čhiœßøλ∫ên
fλüggåɘnk∂€čhiœßøλ∫ên
fλüggåɘnk∂€čhiœßøλ∫ên
fλüggåɘnk∂€čhiœßøλ∫ên
Александр
Регекс правильный?
Сделал так и сработала:
await Sessions.findOne({
centraдPath: new RegExp(modelName, 'gi')
})
?
fλüggåɘnk∂€čhiœßøλ∫ên
Александр
tmarket support
Всем привет, кто может подсказать какая операция будет быстрее?
f1() {
mongo.CountDocumenets()
mongo.UpdateOne()
}
f2() {
mongo.FindOneAndUpdate()
}
tmarket support
Просто findOneAndUpdate() возвращает ещё и документ
Хочу перед обновлением документа сделать проверку на существование
Kirill
Artem
Привет, а возможно как то создать массив елементов в Mongoose например posts: [PostSchema], пробую но падает ошибка
throw new TypeError('Invalid value for schema path `' + fullPath +
^
TypeError: Invalid value for schema path posts.type, got value "undefined"
Михаил
Artem
Artem
Я в доках прочитал такое
const ToySchema = new Schema({ name: String });
const ToyBoxSchema = new Schema({
toys: [ToySchema],
buffers: [Buffer],
strings: [String],
numbers: [Number]
// ... etc
});
И подумал можна