yopp
Используйте его сразу в $project
Гена
сейчас попробую
Гена
спасибо
Алмаз
Добрый день! Нужен ваш совет.
Для внутренних нужд начал реализовать свой GUI, по аналогии rockmongo, но на базе nodejs.
Пока тесты провожу список базы данных + список коллекций (electron).
Почему изобретаю свой велосипед:
⁃ для облегчения разработки хочу воспользоваться watch над коллекций или конкретного документа,
⁃ сохранение query как шаблон для последующего использования (сохранения даты и комментария),
⁃ применение шаблонов а-ля {{ mustache }} для отображения некоторых видов коллекций для удобного переваривания большой информации.
Вопрос, как лучше разрабатывать:
1. Серверную часть отдельно, клиента отдельно.
Плюс: Через url можно зайти и подключится.
Минус: нужно устанавливать на сервер какие то библиотеки и настраивать.
2. Создать все на базе еlectron.
Плюс: Нужен только доступ по ssh
Минус: Нужно каждый раз запускать.
И еще может не надо все это делать, уже есть готовое решение?
yopp
Если вы не знаете как будете на этом зарабатывать, то смысла в таком продукте нет
Dmitriy
Добрый день! Нужен ваш совет.
Для внутренних нужд начал реализовать свой GUI, по аналогии rockmongo, но на базе nodejs.
Пока тесты провожу список базы данных + список коллекций (electron).
Почему изобретаю свой велосипед:
⁃ для облегчения разработки хочу воспользоваться watch над коллекций или конкретного документа,
⁃ сохранение query как шаблон для последующего использования (сохранения даты и комментария),
⁃ применение шаблонов а-ля {{ mustache }} для отображения некоторых видов коллекций для удобного переваривания большой информации.
Вопрос, как лучше разрабатывать:
1. Серверную часть отдельно, клиента отдельно.
Плюс: Через url можно зайти и подключится.
Минус: нужно устанавливать на сервер какие то библиотеки и настраивать.
2. Создать все на базе еlectron.
Плюс: Нужен только доступ по ssh
Минус: Нужно каждый раз запускать.
И еще может не надо все это делать, уже есть готовое решение?
я хз, зачем вы это делаете, watch над коллекцией (по поводу документа не смотрел) есть в nosql booster (я думаю что в studio3t тоже есть). т.е. если разработка ваша кастомная стоит дешевле 200$, но сильно сомнительно
yopp
Есть бесплатный компас, вопрос чем ваше решение лучше?
yopp
Это будет безумно дорогой инструмент для разработки
yopp
В лучшем случае это около года разработки
yopp
Roman
Всем привет!
Подскажите, как бы вы решали задачу?
Необходимо выбирать из 1ккк записей 1000 рандомных, при этом чтобы для каждой новой выборки эти записи не пересекались.
Видимо необходимо заюзать db.collection.aggregate([{ $sample: { size: 1000 } }]);, но не знаю как сделать так, чтобы выборки не пересекались. Думал, возможно стоит добавить дополнительное поле в документ (выбрано / не выбрано), и использовать $match.
madspectator
Можно распределить числа из диапазана 1..1e9 каждой записи в случайном порядке. Затем взять записи с номерами 1..1000, затем 1001..2000 и т.д.
Roman
Nick
Nick
Roman
а зачем? какую именно задачу вы решаете?
В двух словах не объяснить)
У меня есть БД, которая хранит записи и в которую будут добавляться записи. Также есть некий механизм, которому необходимы группы записей, пока по 1000. При добавлении новой записи, необходимо формировать группы из имеющихся записей в БД по 1000 в одной группе.
Зачем конкретно мне такое нужно и где я буду такое применять, сказать не могу.
Nick
Dmitry
Жаль, походу самое интересное осталось за кадром)
Похоже на подгрузку сообщений continuous scroll как в скайп или вотсапп. На SQL такое нет смысла делать. В NoSQL это будет работать мгновенно. Как запись (пишем элемент в массив в документа) так и вывод. При скроле просто берем следующий а в его массиве соответсвенно следующий рэндж 1000
Murena
Всем привет подскажите можно ли в монге сделать так - есть документ - в нем есть поле которое является массивом обектов мне нужно добавлять в этот массив новые елементы - при этом не выкачивая весь этот массив с монги для этого действия. Можно ли как то передать команду типа - push to array определенный елемент и все. Чтоб не вытягивать весь документ с бд ?
Murena
просто сейчас я делаю .find - нахожу нужную запись в бд - добавляю в поле документа (которое является массивом нужный елемент) и делаю .save()
Murena
а хочется упустить этап выкачки с бд всего документа - а делать определенную логику на стороне бд
Murena
чтоб не ганять данные туда - сюда
yopp
yopp
И если нужно игнорировать дубликаты
https://docs.mongodb.com/manual/reference/operator/update/addToSet/
Murena
спасибо 🙏
Nick
Nick
Можно на сериализации и валидации по схеме, монгус мне помнится грешил этим
Murena
Зачем? Вы уперлись в сеть или проц?
Можно сказать и так, мне нужно добавить например в 5000 документов по 10 новых елементов в массив но каждый документ уже весит по 5-10 мегабайт. Получается накладно выкачивать с бд каждый документ полностью чтоб просто добавить елемент в массив
Murena
Поэтому искал способ чтоб без выкачки с бд просто добавить елемент в массив
Nick
yopp
yopp
Or transactions)
Назар
MongoNetworkError: failed to connect to server [cluster0-shard-00-00-wl88u.mongodb.net:27017] on first connect [MongoNetworkError: connection 5 to cluster0-shard-00-00-wl88u.mongodb.net:27017 closed
Назар
как пофиксить?
yopp
как пофиксить?
https://docs.atlas.mongodb.com/security-whitelist/
Vadim
Подскажите, пожалуйста, как произвести поиск по регулярному выражению, если у меня в документе бинарные данные такого вида:
{Payload: BinData(0,"W3sia2V5IjoiXHUwMDAwV1NcdTAwMDAxNDQwLTEwMDAxNC0xOV)}
Попробовал в mongo-driver (Golang) сделать так:
filterOpts := bson.E{Key:"Payload", Value: bson.D{
{"$regex", primitive.Regex{Pattern:"1440-100006-19", Options:"i"}},
}}
collection.Find(ctx, filterOpts)
...
но так ничего не находит :(
возможно ли в принципе производить поиск по шаблону в бинарных данных в Mongo?
yopp
А что у вас в бинарных данных хранится?
yopp
Насколько я помню монга использует для них простой текстовый алгоритм и как минимум поиск по префиксу и другие простые операции были возможны
Vadim
yopp
А зачем binary?
yopp
Но вы попробуйте своё регулярное выражение на вашем json проверить
Vadim
А зачем binary?
специфика, так удобно в сервисе, которые кладет документы и достает из монги. десериализация в другом месте
Oleksandr
Здравствуйте,
Подскажите, пожалуйста, есть уже установленная MongoDB 4.0.X, как лучше сделать апгрейд до 4.2? Это Standalone сервер сейчас.
———-
БД маленькие, я понимаю что лучше сделать экспорт и импорт чтобы все было ОК.
———-
Вопрос в том, для обновления MongoDB старую нужно полностью удалить (в офф. документации есть пример), или можно добавить репу mongodb4.2 и через apt установить посерх текущей 4.0?
yopp
Oleksandr
Спасибо! 😊
Павел 💻
Всем привет, подскажите пожалуйста , как в mongoose модно задать параметр where аналогичный sql запросу?
Павел 💻
Т.е. мне нужно вытащить все уроки с категорией Рисование
yopp
Павел 💻
Ki
Ребят всем привет. Извините за максимальный метавопрос
одскажите где подсмотреть работу с Mongodb Может быть у аиды на канали есть ? задача форум сделать, как записи делать ума не приложу не работал раньше с Бд
А сроки горят 1 день остался. Где посмотреть на руском.
С подключением к react и express
madspectator
Вы не разу не делали веб-приложения, работающие с БД и хотите сделат за 1 день? Какой смысл? Всё равно получится кривой медленный продукт с дырами в безопасности.
Anonymous
Ki
php 😅
Ki
Ki
🌝
Ki
так уже 15 минут , это норма?
Vova
Ki
второй раз так уже.
не знаете почему?
Назар
Вопрос как сохранить в бд тест? У теста есть вопрос и варианты ответа, где один правильный. Как пометить правильный вариант ответа?
Назар
Назар
Vova
Зависит от логики кода, если нужно по номеру вопроса получить верный ответ то лучше вне массива, чтобы не тянуть его. Если же ты в любом случае тянешь массив всех ответов с бд, то можно и внутри массива
JASWGO
Всем привет. omitempty это как опционал?
JASWGO
Anonymous
ребят подскажите. как в aggregate вернуть не массив а объект, у меня просто идет выборка по uid, возвращается объект, но он в массиве. А как массив хотя бы убрать?
Aleksandr
const result = aggResult[0]
Leonid
Привет.
Кто-нибудь в курсе как в c# mongodb driver реализовать полиморфное поле в базе ( тип ObjectId, string, int) в свойство DTO типа string ?
Vova
Алишер Абдуллаев
ребята , в $match aggregation работает $gte & lte для проверки таймстэмпа ?