Евгений
на всякий случай)
Arsen
вынесети из компонента запросы
Arsen
не надо так делать может потом много багов вылезти))
Евгений
хорошо
Arsen
https://www.google.com/amp/s/m.habr.com/ru/amp/post/529950/
Arsen
лучше старайтесь избегать их
Евгений
О, спасибо
..
привет, было ли у кого что при установки монго не создается файл ?
..
из-за этого не могу подключится к локальной сети , пробовал запустить Mongod , не помогло ..
..
проблема такая же, но ответа в разных форумах не нашел .
Аналоговнет
по jwt токенам можно вопросы тут бросать,или есть отдельный какой-то чат?
Dmitriy
Коллеги, подскажите пожалуйста такой момент.
У меня есть 10 пользователей, у каждого пользователя есть массив из N количества items
У нескольких пользователей items могут пересекаться.
Например item _id 10 может быть у пользователя 1, 4, 8.
Что в таком случае лучше всего сделать?
1 - Вытащить всех пользователей, через map в js вытащить все items всех пользователей, выбрать уникальные и сделать второй запрос в таблицу items и вытянуть все Итемы и потом в коде уже вручную пройтись по каждому пользователю и в массиве вместо _id итема поставить объект через функцию find по полученому массиву обьектов items
2 - Сразу делать lookup и вытаскивать сразу items ?
Какой вариант будет более производительней ?
Dmitriy
И еще вопрос.
У меня есть 50 записей. 10 из них мне нужно обновить определенные поля, при этом у каждого из этих 10 нужно установить свое значение.
Можно ли это как то одним запросом сделать?
Максим
#вопрос Недавно изменял название поля во всех документах и немного промахнулся, в некоторых документах удалил старое поле с данными и новое не добавил. В общем потерял данные.
Есть ли способ откатить updateMany? ( Если Бэкапа нет)
Максим
Проблему я решил, данные дублировались. Но вот на будущее хотелось бы знать. Я очень расстроился когда понял что натворил 😁
Максим
База сингл нода.
Максим
Dmitriy
Ну я с фронта присылаю такой массив например
{_id: 123, value: 50}, {id:321, value 60}
Dmitriy
Ну это и так понятно, а вот как с Матчить в этом и есть вопрос)
Максим
Dmitry
Добрый день, подскажите как организовать хранение вот такой информации в монго?
На данный момент у меня такая иерархия, как вы считаете - это уместно?
Dmitry
Dmitry
Ilya
есть вот такой код, возможно ли его реализовать агрегациями? что делает этот код: по тэгам нужного артикля ищет пересечения с другими артиклями, каждое совпадение даёт +1 к счётчику
Pt. Loki
доброго времени. риторический частично вопрос. что эффективней по процессору mongodb или mysql при нескольких таблицах с пользователями? логин, пароль, timestamp, куки одна таблица, вторая профиль, третья авторизация с всякими счетчиками доступа. имеется 12к пользователей в пике, очень много цп ест mysql. интерес именно в логике - выгоднее ли использовать mongodb если 1 таблица из трех плавающая (не все поля заполнены обязательно) а вторая часто обновляется (счётчики). индексы понятное дело везде есть. я нуб если что.
Pt. Loki
2кк пользователей.
Nick
Dmitriy
сразу лукап
А за счет чего будет производительней?
Nick
Nick
Nick
сложно будет делать выборки по второму уровню вложенности массивов testCases.ewi, если это не требуется, то то должно быть норм. Основной момент - готовьте структуры под выборки, которые планируется делать
George
Привет
Подскажите плиз как такое делать только на go?
https://docs.mongodb.com/manual/reference/method/cursor.noCursorTimeout/#mongodb-method-cursor.noCursorTimeout
MongoDB 4.4.2 Community
go.mongodb.org/mongo-driver v1.5.1
Ожидаю что в for будет по мере получения данных приходить данные. Курсор завершается
Что делаю не так?
session, _ := mongoClient.Database("db1").Client().StartSession()
defer session.EndSession(Ctx)
opts := options.Find()
opts.SetNoCursorTimeout(true)
opts.SetSort(map[string]interface{}{
"created_at": -1,
})
cond := map[string]interface{}{
"group": "foobar",
}
iter, err = session.Client().Database("db1").Collection("entries").Find(Ctx, cond, opts)
if err != nil {
zap.L().Panic("Failed open cursor", zap.Error(err))
}
for iter.Next(Ctx) {
entry := models.Entry{}
if err := iter.Decode(&entry); err != nil {
zap.L().Error("Failed decode received entry", zap.Error(err))
continue
}
zap.L().Info("Received entry", zap.Any("entry_props", entry.EntryProps))
}
Andrey
Привет
Подскажите плиз как такое делать только на go?
https://docs.mongodb.com/manual/reference/method/cursor.noCursorTimeout/#mongodb-method-cursor.noCursorTimeout
MongoDB 4.4.2 Community
go.mongodb.org/mongo-driver v1.5.1
Ожидаю что в for будет по мере получения данных приходить данные. Курсор завершается
Что делаю не так?
session, _ := mongoClient.Database("db1").Client().StartSession()
defer session.EndSession(Ctx)
opts := options.Find()
opts.SetNoCursorTimeout(true)
opts.SetSort(map[string]interface{}{
"created_at": -1,
})
cond := map[string]interface{}{
"group": "foobar",
}
iter, err = session.Client().Database("db1").Collection("entries").Find(Ctx, cond, opts)
if err != nil {
zap.L().Panic("Failed open cursor", zap.Error(err))
}
for iter.Next(Ctx) {
entry := models.Entry{}
if err := iter.Decode(&entry); err != nil {
zap.L().Error("Failed decode received entry", zap.Error(err))
continue
}
zap.L().Info("Received entry", zap.Any("entry_props", entry.EntryProps))
}
Посмотрите исходники mongoexport из mongo-tools на github
George
> https://docs.mongodb.com/manual/reference/method/cursor.noCursorTimeout/#mongodb-method-cursor.noCursorTimeout
Либо я не правилььно интерпретирую эту фичу? Подписка на изменения из коллекции по условию. В не закрываемом курсоре будут падать новые документы удовлетворяющие условие
George
Нет, похоже не умею готовить эту фичу
Еще раз на свежую голову посмотрел доку к функции Next у курсора
> Next blocks until a document is available...
Бросьтесь плиз ссылкой на проект где используются Next блокирующий (вестимо через findOpts.SetNoCursorTimeout(true))
Глаз замылился не пойму что не так в моем случае
germon
Добрый день, пытаюсь связать две коллекции: города и офисы. Офисы ссылаются на id города. Не могу понять верно я делаю или нет.
db.cities.insert({"_id":"Almaty" ...})
db.offices.insert({... , city: "Almaty"})
germon
есть еще несколько документов в этих двух коллекциях, хочу их связать тоже, например
db.cities.insert({"_id": "Nursultan", ...})
db.offices.insert({..., city: "Nursultan})
Все я делаю правильно и если да, есть ли способы проще это делать? Чтобы немного автоматизировать
Google
Всем привет можете помочь в Mongodb v4.0.10 не работает $size КАК ИСПРАВИТЬ ?
Google
а как можно на VPS обновить версии монго без потерии данный ?
yopp
yopp
у вас много данных?
Google
Да
Google
как можно обновить ?
Google
что бы не было проблемы
yopp
yopp
самый безопасный способ это mongodump -> mongorestore
Google
300 mb
Google
проект много там
yopp
300 мб это очень немного данных
Google
есть способ обновить или надо удалить
yopp
https://docs.mongodb.com/v4.2/release-notes/4.2-upgrade-standalone/
yopp
и потом https://docs.mongodb.com/manual/release-notes/4.4-upgrade-standalone/
Usein
Привет, делаю интернет-магазин одежды. Появился вопрос, как мне реализовать группировку одинаковых товаров (но с разными цветами).
Их по названию товара обобщать или как?
Ilya
категории
Andrey
Всем привет, получаю из бд одного пользователя, в виде объекта, но как сделать так, чтобы я получал объект без определенного свойства внутри него ?
Andrey
Допустим есть _id, login, password
Andrey
А хочу получить только айди и логин
Sula
Ребят, есть коллекция продуктов, в которой содержится массив категорий и нужно связать в виде префиксного дерева связи между этими категориями
Sula
Sula
К примеру, вот категории одного документа и снизу вверх проходит индексация, 4 категория главная от нее зависит 3,а от 3 - 2 и тд
Sula
Второй документ содержит такие же категории и должны выстроиться связи айдишек таких же
Ilya
𝚂𝚑𝚞𝚔𝚑𝚊
Andrey
Всем спасибо!)
gercovv
Всем привет, как я могу получить x новых документов через mongoose?
Anatoly
gercovv
𝚂𝚑𝚞𝚔𝚑𝚊
А почему
Schema.pre('save', function(next) {
...(hashing password)
})
не работает когда я изменяю документ
User.findById(id).exec((err, doc) => {
...(validating)
doc.password = newPass
doc.save()
})
𝚂𝚑𝚞𝚔𝚑𝚊
в бд сохраняется пароль без хэширования
Nick