Семен
Я тут пытаюсь в бекенд и чет с порога меня гонят ссаными тряпками Я скачал архив с сайта mongodb и пытаюсь вызвать open mongod Он мне говорит, что не могу найти файл базы данных Я ввобжу ему путь к директории, где его нужно создать open mongod --dbpath /data/db Теперь мне мак говорит, что я запускаю неправильными флагами, а я не догоняю что он от меня хочет В доках все так запускают, ну или я краню жестко и не понимаю
Я разобрался Оказывается, нужно не только перейти в папку с этим инсталятором, но и указать что я хочу запустить его именно из этой папки, до этого он видимо думал что этого недостаточно В итоге команда для запуска стала ./mongod --dbpath /data/db Но все же пойду читать теперь доку
Max
Всем привет) Коллеги, как описать такую модель в Mongoose? "lessons": { "moscow": { "baumanskaya": ["russian-language", "mathematics", "sport"], "kurskaya": ["russian-language", "mathematics", "sport"] }, "novosibirsk": { "gagarinskaya": ["russian-language", "mathematics", "sport"] } }
Max
есть тут кто онлайн)
Val
есть тут кто онлайн)
Есть, но если бы я знал кто такой Монгусь😄
Max
Есть, но если бы я знал кто такой Монгусь😄
Извини, что так отвечаю, но вот оно) https://mongoosejs.com/
Val
Извини, что так отвечаю, но вот оно) https://mongoosejs.com/
Ааа, и ты типо хочешь метод .model у него вызвать
Max
Ааа, и ты типо хочешь метод .model у него вызвать
Нет, я хочу эту структуру в схеме описать)
Val
Нет, я хочу эту структуру в схеме описать)
Думаю тут есть то, что ты ищешь https://stackoverflow.com/questions/66421241/how-to-add-a-model-inside-another-model-with-mongoose-and-node-js
Max
Думаю тут есть то, что ты ищешь https://stackoverflow.com/questions/66421241/how-to-add-a-model-inside-another-model-with-mongoose-and-node-js
Да, я тупанул, просто нужно было отдельно описать структуру и вложить) В примере не совсем то, что нужно, но логику вспомнил)
Kino Recovery
есть сервер в сингл режиме на который пишут постоянно. даунтайм хоть на минуту-смерть. старый сервер уже в почти в полку по loadavg. можно ли как-то переключить в мастерслейм на лету? я хочу, чтобы монга сама всё с бекапила на второй сервер
Kino Recovery
Нет, включение оплога для работы в репликасете требует ребута
варианты? разрабы говорят мы не знаем про реконнект нсть он или нет
Kino Recovery
у меня слов нет
Kino Recovery
блин,да у них монга из дефолт композа даже без volume
Kino Recovery
поставил по крону раз в30 минут дампер
Nick
блин,да у них монга из дефолт композа даже без volume
Без вольюма, тогда это бомба замедленного действия. Планируйте тех работы с даунтаймом в который сделаете бэкап с работающей монги. Остановите ее, подложите конфиг, пробросите вольюм (или вообще просто монгу подними без докера). Зальете в нее бэкап и уже дальше нормально работать в режиме реплики
Alex
Добрый день. Изучаю Mongodb по Трепачеву, делаю первые шаги. Код не работает на версии 6.5, на 4.17 работает. Простите, наверно, я не первый кто задает этот вопрос. Может быть кинете ссылочку или ответите. Спасибо.
Alex
import mongodb from "mongodb"; let mongoClient = new mongodb.MongoClient('mongodb://localhost:27017/'); mongoClient.connect( async function(error, mongo) { if (!error) { let db = mongo.db('test'); let coll = db.collection('users'); let res = await coll.find().toArray(); console.log(res); } else { console.error(err); } });
Alex
Вот код.
Alex
https://code.mu/ru/javascript/nodejs/book/mongo/basis/connection-establishing/
Alex
Взял у Трепачева.
Alex
База называется 'test'
Alex
Зависает и не выводит ни 'res' ни 'err'.
Alex
Дима, спасибо, заработал. Возвращаю текст адаптированный. Возможно кому-то пригодится.
Alex
import mongodb from "mongodb"; const client = new mongodb.MongoClient('mongodb://localhost:27017/'); await client.connect(); const collectionUsers = client.db().collection('users'); const users = await collectionUsers.find().toArray(); console.log(users);
Alex
Наверное, я не разобрался, с этой фичей, я писал, что только начал изучать. Нужно было вместо DB_URL записать 'mongodb://localhost:27017/'?
Alex
Спасибо, сейчас займусь этим.)
Rumar
Prisma или mongoose - что выбрать для монгодб? Мне у монгуса не нравятся особенности типизации и иногда её отсутствия типа когда Плагины используешь с трансформацией данных
Alex
В mern-stack-tutorial у них опечатка: создают ModifyRecord.jsx, а потом редактируют Record.jsx
Alex
Прочитай про Environment
Спасибо, Дима, разобрался, ну во всяком случае я так считаю.)
Max
Всем привет) Кто может подсказать, как выполнить корректный запрос в Монгу через Мангуса в такой структуре? { "name": "Карточка 1", "navigations": { "moscow": ["baumanskaya", "kurskaya"], "kazan": ["kremlevskaya"] } } { "name": "Карточка 2", "navigations": { "moscow": ["kurskaya"], "novosibirsk": ["gagarinskaya", "sibirskaya"], "sankt-peterburg": ["zenit"] } } /navigations/moscow -> 2 карточки /navigations/moscow/baumanskaya -> 1 карточка
Max
Для меня тут сложность в составлении запроса в БД, когда нужно проверить наличие ключа у вложенного объекта
Tetra
Для меня тут сложность в составлении запроса в БД, когда нужно проверить наличие ключа у вложенного объекта
а по сути что нужно? проверить факт наличия можно через $exists: true. Путь через точку собрать
Max
а по сути что нужно? проверить факт наличия можно через $exists: true. Путь через точку собрать
По сути нужно получить те документы, у которых во вложенном объекте, например, есть ключ "moscow"
Max
"navigations.moscow" : {$exists:true}
navigations[${city}] : {$exist:true} ?
Tetra
navigations[${city}] : {$exist:true} ?
пример привел, просто строкой
Tetra
показывайте запрос
Max
cardCollections = await CardModel.find({ "navigations.moscow": { $exist: true } });
Tetra
$existS
Tetra
не-а, не работает)
https://play.db-ai.dev/m/ZjFp8dphOQABlomZ
Max
$existS
работает, спасибо) моя невнимательность)
Олег
Всем привет, может кто поделится кодом для коннекта asp.net core приложения к монге с контекстом, заранее благодарю)
Alex
Привет. Может кто сталкивался с таким. У меня есть 2 коллекции: letters и medicalrecordrequests. Коллекция letters имеет поле batchId (число) и поле results (массив объектов с полями mrrId и payerClaimNumber). Коллекция medicalrecordrequests содержит документы с полями internalId и payerClaimNumber, которые соответствуют mrrId и payerClaimNumber внутри results с коллекции letters. Мне надо делать поиск по batchId и находить medical records, которые содержат более детальную информацию. Но помимо этого на каждом полученном medical record мне нужно добавлять новое поле batchIds и пушить туда batchId с коллекции letters, везде, где внутри какого либо леттера results содержит соответствующий mrrId. Сейчас мое квери выглядит так, но работает очень медленно. Как это оптимизировать ? Возможно в пределах одной агрегации
Alex
Поскольку я сначала получаю результаты и потом прохожу циклом по ним, и на каждый итерации делаю distinct, это работают очень медленно (
Nick
Поскольку я сначала получаю результаты и потом прохожу циклом по ним, и на каждый итерации делаю distinct, это работают очень медленно (
Почему бы не добавить группировку и обойтись без дистинкта? Или эта агрегация только поиск идентификаторов? Если так, то еще один лукап к этой же коллекции и группировка
-
А вы пробовали пройтись через Compass? Он хорошо помогает в поиске ошибок
Нуриддин
Можно поставить натировано плагин, он будет работать почти со всеми версиями. Но он на сайте графаны находиться
Alex
А вы пробовали пройтись через Compass? Он хорошо помогает в поиске ошибок
Пробую вот через compass) первый lookup нормально отрабатывает. Не могу понять как запушить batch ids на втором этапе
Anton
Вопрос по Realm. Есть у меня коллекция и в коллекции у элементов (видео) есть поле Tags (IList<ObjectId> Tags). Так вот я пытаюсь сперва в realm studio сделать выборку всех элементов с определенным Tag, но у меня возвращается только один результат. Запрос пишу так: Tags = oid(66336a88ad1f0cf00705f752) Как получить мне все элементы с тегом?
Alex
То есть у вас проблема с $group во втором $lookup?
Спасибо ) вот я только буквально 5 минут назад нашел решение
4UCTblU
Привет, не связан с бд, но нужно порешать под проект. Подскажите как атлас мёртв или из cli как тот можно вести под небольшой сервак, не к больше 100запросов в минуту
4UCTblU
Или, благодарен буду, есть если альтернативы под ru сегмент, что без проблем работает.
Nick
Привет, не связан с бд, но нужно порешать под проект. Подскажите как атлас мёртв или из cli как тот можно вести под небольшой сервак, не к больше 100запросов в минуту
атлас жив, но вебморда управлени кластером только через впн. Сами серваки смонгой работают (если конечно регион нормальный выбран где они развернуты, а то было пару случаев когда он под веерные блокировки подпадали)
Алексей
Добрый день, подскажите, где почитать как mongodb освобождает место после удаления документа из колелкции там есть что-то типа вакуума как в пг ?
Нуриддин
Это очень большой раздел поэтому лучше искать такое самому
Алексей
https://www.mongodb.com/docs/manual/faq/storage/#how-do-i-reclaim-disk-space-in-wiredtiger-
Евгений
Вопрос, есть ли большая разница при использовании: 1. MongoDB Atlas 2. Покупка VPS, установка Ubuntu -> Локальное хранилище MongoDB 3. Yandex Cloud Для того, чтобы организовать интернет магазин Условно, что безопаснее, что проще расширять, откуда проще делать бэкапы
Нуриддин
Если у вас очень высокого груженный продукт и нужно качественный постоянный сервис то первое
Нуриддин
Если технические вопросы второстепенны и сейчас нужно быстро что-то работающее то второе
Нуриддин
Но многие решения по производительности вам придётся придумывать самостоятельно в плане репликации или шардинга
Дмитрий
В целом же можно GridFS натянуть https://www.mongodb.com/docs/manual/core/gridfs/
Oleg
Всем доброго времени суток! У меня возникла такая проблема: есть mongodb, в которой лежат доки вида {date, price} - продажи товара по датам. Я хочу найти найти сколько продали товара за каждый день, причем если в какой-то день не продали ничего, то я все ещё хочу получить дату и 0 в счётчике продаж. Я могу без проблем сгруппировать по датам, где есть продажи и получить число этих самых продаж, но как сделать чтобы дни когда продаж не было, тоже возвращались в результате - вообще без идей. Подскажите, пожалуйста как решить эту проблему?
Oleg
А может в $group есть какой нибудь флажок, чтобы он пустые группы создавал и не выкидывал?)