-
$ это указатель. Вам вроде типа $elemMatch в query необходимо использовать, чтобы он нашел не просто документ, но и поставил указатель на этот элемент в массиве
-
.updateOne({ "resources": { "$elemMatch": { "id": 1, "type": 'inc', "number": 1 } } }, { $inc: { "resources.$.number" : 1 } })
Ян 🌙
Спасибо:) Только number: {exists: true}. Он же постоянно меняется и знать заранее значение низя
Илья
Здравствуйте Установил на сервер монгу, но не создаются базы данных, хотя ответы вроде приходят без ошибок, в чем может быть дело?
Илья
И еще Не совсем понимаю почему не могу подключиться к серверу через компасс Выдает вот такое
Илья
Чтобы отобразилась БД, необходима хотя бы 1 коллекция. Лично у меня так было
Не могли бы вы пожалуйста чуть подробнее ответить? Я чайник, только начал разбираться
Vyacheslav
И появится все
RapidCodeLab
Ты уже переключился на базу, в этом контексте не должно наверно в списке бд показывать текущую
Илья
И появится все
Действительно, спасибо
Илья
use ccomba db.createCollection("user")
Спасибо вам большое
Илья
А с компассом еще не поможете? Может у меня строка подключения неверная?
-
И еще Не совсем понимаю почему не могу подключиться к серверу через компасс Выдает вот такое
Mongodb выключена, запущена на другом порту, не правильная строка для подключения и т.д.
Илья
Mongodb выключена, запущена на другом порту, не правильная строка для подключения и т.д.
Не могли бы вы посмотреть мою строку подключения? Порт верный, монга запущена Вот пример самой строки(удалил только личные данные): mongodb://username:password@serverip:27017/?authSource=admin
-
По пробуй без ?authSource=admin
Easy Rider
а в логах что
Илья
а в логах что
А как я посмотрю? Конекшна то нет
Илья
Там в машине firewall есть ? Машина не загружена? Лимит соединений не достиг лимита?
Фаерволла нет Что значит загружена? Да вроде не должен, ни одного конекшна еще не установил
Easy Rider
Mashxurbek
Доступ к машине на которой есть? Проверь config. В linux /etc/mongod.conf
Easy Rider
Вдс
значит в системных логах что-то должно быть наверное
Mashxurbek
permission denied
sudo -s cat /etc/mongod.conf
Mashxurbek
nano /var/log/mongodb/mongod.log
Mashxurbek
nano /var/log/mongodb/mongod.log
Посмотри последние логи
Илья
Пусто
Илья
Посмотри последние логи
Последние за третье число
Mashxurbek
Блиин
Mashxurbek
Тебе в конфиге нужно поправить
Easy Rider
если пусто, то может таки файрвол мешает?
Mashxurbek
nano /etc/mongod.conf Потом bindIp Добавить массив с элементами через запятую 127.0.0.1 и тот ip с которого твое приложение будет соеденятся
Easy Rider
на всякий случай сделай вот что
Easy Rider
sudo ufw allow ssh sudo ufw enable sudo ufw allow 27017/tcp
Илья
Слушайте, а я че думаю вот
Илья
Easy Rider
а...
Илья
Это не может мешать?)
Артем
это где так?
Easy Rider
ну если он у тебя УЖЕ установлен, в чем проблема?
Илья
на регру пишут
Easy Rider
ты с официального репозитория убунты можешь все равно скачать
Easy Rider
у меня тоже в москве сервак, но все работает
Easy Rider
sudo ufw allow ssh sudo ufw enable sudo ufw allow 27017/tcp
Easy Rider
вот что сделай
Илья
Я уже делал, конечно, но вот еще разок
Easy Rider
то есть ты РАНЬШЕ уже открывал этот порт?
Mashxurbek
nano /etc/mongod.conf Потом bindIp Добавить массив с элементами через запятую 127.0.0.1 и тот ip с которого твое приложение будет соеденятся
@skkrrrrrra попробуй это. По дефолту с 4 версии там стоит 127.0.0.1 что не даёт подключаться. Поменяй это на [127.0.0.1, ИП твоего апп]
Easy Rider
а что тогда говоришь что у тебя нет файрвола
Артем
так что логи пишут в итоге?
Илья
Easy Rider
Илья
Да
Easy Rider
я тебе щас скину свое все
Easy Rider
я сам себе составил гайд
Mashxurbek
0.0.0.0 не хороший вариант. В этом случае если будете хранить user info то его заберут и удалят
Easy Rider
Илья
А можно текстом это, пожалуйста?
Илья
Да
А если я с локалхоста планирую дергать?
Easy Rider
Илья
Айдишник компа?
Easy Rider
А можно текстом это, пожалуйста?
------->>> 10. Создаем юзера Пишем в консоли ubuntu: mongo Потом построчно копируем и нажимаем enter после каждой строки: use admin db.createUser( { user: "LOGIN", pwd: "PASSWORD", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) db.auth("LOGIN","PASSWORD") db.updateUser("LOGIN",{roles:["userAdminAnyDatabase","userAdmin","readWrite","dbAdmin","clusterAdmin","readWriteAnyDatabase","dbAdminAnyDatabase"]}); exit
Easy Rider
реплику ты наверное можешь не создавать если не планируешь использовать транзакции пока что
Easy Rider
так что на этом для тебя настройка закончится
Easy Rider
0.0.0.0 не хороший вариант. В этом случае если будете хранить user info то его заберут и удалят
то есть что именно заберут и удалят, и как это сделают? если у меня авторизация