Roman
компас не хочет воспринимать аргумент replicaSet
Roman
попробуй без него
Andrew
Phil
Добрый день! у меня есть коллекция, где документ содержит id других документов, как мне получить все документы с содержимым ?
в nosql принято дублировать инфу тут есть два сценария: если user и word меняются часто, то имеет смысл делать, как у вас сделано. Если не очень часто и большая нагрузка на эту коллекцию на чтение, то тогда надо дублировать данные типа userId user wordId word и доставать все сразу одним запросом и обновлять данные в этой коллекции в одной транзакции, одновременно когда они обновляются в user
WEB
Как мне рандомно достать объект из коллекции? Не обращаясь к его объекту в лице _Id ?
WEB
Если такие способы? или нужны в любом случае идентификатор?
Nick
Как мне рандомно достать объект из коллекции? Не обращаясь к его объекту в лице _Id ?
думаю вам подойдет https://www.mongodb.com/docs/manual/reference/operator/aggregation/sample/
Eфим
добрый день, как установить на VPS монго (linux 20.04) .пробовал разные способы не получилось
Алим
добрый день, как установить на VPS монго (linux 20.04) .пробовал разные способы не получилось
разве облачные сервера не предоставляют их по умолчанию при выборе сервера с дополнительными предустановленными программами ?
Eфим
beget не предоставляет
Eфим
Eфим
это у них на сайте написано
Eфим
только mysql
Алим
а загрузка apg-get? Не пробовал сам, но интересно
Eфим
есть инструкции довольно все просто, но по факту походу сайт блокируется при скачивании...
Eфим
посоветовали собрать вручную
Eфим
я хз как это делается
Алим
Eфим
да, именно так и есть
Алим
да, именно так и есть
а платформа позволяет арендовать сервера не из рашки ?
Eфим
надо уточнить этот вопрос
Eфим
может подскажете каким лучше сервисом воспользоваться VPS
Eфим
К сожалению, нет. Все наши сервера находятся на территории России в г. Санкт-Петербург
Eфим
ответ от Бегет
Flake
может потому что запрос из России, сайт то тоже ограничили
Так сняли блок недавно. Разве нет? На доку недавно заходил
Алим
кстати да, заходит, тогда хз что за траблы у облачного сервера
yopp
посоветовали собрать вручную
Вы можете установить из зеркала офф репозитория https://mirror.db-ai.co/_/install
Eфим
спасибо, ,буду пробовать
Alexandrr
К сожалению, нет. Все наши сервера находятся на территории России в г. Санкт-Петербург
запроксируйся и всё. тут недавно кто-то даже бесплатно раздавал
Nikita
использую mongoose как мне добавить поле в существующий документ, спасибо 😊 user.newfield = 1 user.save() не помогает )
Nikita
Спасибо
Nikita
а если user.findOneAndUpdate("id", {newfield: 1})
А если через updateOne такой же синтаксис ?
Nikita
Думаю тоже работает
UserWord.findOneAndUpdate( { _id: user._id }, { $set: {answerCount : 1}})
Nikita
Не робит (
Nikita
и без сета тоже пробывал
access_denied
Добрый вечер, уважаемые Ставлю монгу 6 версии на убунту, а мне вот это выдаёт на шаге с перезагрузкой локальных пакетов. Файл в папку как в доках написано добавил, а в чем дело не пойму
access_denied
может у кого такое=же было
access_denied
Может ли это быть из за того что настройки Биоса сбросил, в когда так делаешь - выключается виртуализация Не могу проверить так как ушел, просто очень интересно
Sanya
Всем привет Есть аппка на IOS. Хочу в конфигурации при подключении к аппке использовать transport, чтобы гнать все запросы через прокси. В доке написано, что здесь должен быть RLMNetworkTransportProtocol Где можно черпнуть инфы, как его создать? Такого класса у монги вроде как нет
Alex
Ребят, подскажите по mongoose. Нужно в схеме создать объект, в который будут добавляться ключи и в них однотипный объект. Как это можно сделать? Нашел решение с Map. Но мне не очень нравиться. Есть вариант как-то обычный объект в схему запихнуть?
🅰️nimeCoder
Просто массив типа string
🅰️nimeCoder
keys: [String]
🅰️nimeCoder
Чёт типа такого
🅰️nimeCoder
Я если честно никогда не юзал мапу с монгузом, вполне возможно что оно нужно только для валидации и приводится к array в итоге, и обратно в map при выборке
Alexandrr
Ребят, подскажите по mongoose. Нужно в схеме создать объект, в который будут добавляться ключи и в них однотипный объект. Как это можно сделать? Нашел решение с Map. Но мне не очень нравиться. Есть вариант как-то обычный объект в схему запихнуть?
добавляй как пишут, не зря же это написали? я когда на редисе пытался сделать двусложные строки-ключи использовал разделитель, например: {"hash|key": value} когда нужно было найти уникальную запись, я соединял до запроса строку-ключ и уже готовую строку отправлял для поиска, получал значение в итоге
Alex
Я в итоге mixedType заюзал. Он не хотел сохранять пустой объект при создании сущности в бд, добавил ещё defaultValue: {}
Тим
Добрый день, подскажите, как можно запросом узнать например сколько товаров в той или иной категории
Дима
Здравствуйте, можете подсказать, как в монго нужно работать с query запросами?
Дима
Можно ли, например, если у меня вот такая вот схема, при получении всех Modules, просто в поиске вбить таким образом, .../modules?language=...&sort=latest и тд
Дима
Дима
Дима
можно, но сделать это средствами ЯП
в фронт части, я при отправлении запроса добавляю queries, но они никак не влияют на результат
Дима
изменяется результат только если добавить .sort() в бек части
idk
в фронт части, я при отправлении запроса добавляю queries, но они никак не влияют на результат
у тебя в объекте request, есть проперти query. Из него ты вытягиваешь sort, language и остальные поля, дальше создаешь хелпер для поиска по коллекции, в него передаешь findOptions и databaseOptions. function extractDatabaseOptions(query){ const validDatabaseOptions = ["sort", "select", "populate"] return Object.entries(query).reduce((acc,[property,value])=>if(property in validDatabaseOptions) acc[property] = value,{}) } тоже самое с findOptions, только экслюдишь от туда databaseOptions. Думаю мысль понятна
Дима
у тебя в объекте request, есть проперти query. Из него ты вытягиваешь sort, language и остальные поля, дальше создаешь хелпер для поиска по коллекции, в него передаешь findOptions и databaseOptions. function extractDatabaseOptions(query){ const validDatabaseOptions = ["sort", "select", "populate"] return Object.entries(query).reduce((acc,[property,value])=>if(property in validDatabaseOptions) acc[property] = value,{}) } тоже самое с findOptions, только экслюдишь от туда databaseOptions. Думаю мысль понятна
как я понял выполнять query на беке собственно, немного сложновато, я попробую конечно твой вариант, касаемо обработки кверис на беке я думал над таким вариантом, перед самой отправкой сделать проверку на кверис в request и если они есть сделать типо var query = {}; if(req.query.seats_remaining) query.seats_remaining = {$gte: {req.query.seats_remaining }};
Дима
и потом Trip.find(query, function(err, trips){ //your code to handle the response from MongoDB })
Дима
может сработать?
Дима
согласен
idk
не совсем понимаю просто, что за validaDatabaseOptions и функцию в ретурне
опции монги функция в ретурне, тебе формирует объект, благодаря которому ты сможешь создать обертку над find, обычно это репозиториями называется, которые один раз написаны и переиспользуются const query = Model.find(); if(databaseOptions.sort){ query.sort(sort); } if(databaseOptions.select){ query.select(select) } return query.exec()
Дима
Дима
загуглил ошибку, это у меня что-то с нодой?
Дима
мне главное сделать функционал для search, потому что вообще без понятия как это через монго осуществить
Дима
sort и тд можно сделать тем не гибким способом
Anonymous
#help качаю монго уже на протяжении двух часов, ещё ранее пытался установить около получаса, но что-то не идет. Качаю на арч через аур - yay -S mongodb, в чем может быть проблема?
Anonymous
обновление пакетов делал, изначально думал что по региону заблокали, но сам сайт работает и облачную версию юзать могу
🅰️nimeCoder
возможно пресобранные бинарники у арчеров не принято ставить, но стоит наверное все же подумать
🅰️nimeCoder
Я бы вообще рекомендовал развернуть монго в докере
Дима
Ребята подскажите как сделать так, чтобы при query запросе, где я делаю поиск по названию title, мне выдавало результат, даже если я не полностью написал название, а например только первые 3 буквы, грубо говоря функционал startsWith, только в монго
Дима
у меня сейчас вот так
Дима
Дима