Евгений
Последнее время монго служба начала падать, не пойму в чем дело
Евгений
Вообще она стабильная сама по себе?
Anonymous
Последнее время монго служба начала падать, не пойму в чем дело
Посмотрите в сторону нехватки памяти. dmesg проверьте на предмет oom киллера.
Petro
Подключаюсь через Studio3t к серверу на mongodb atlas (через ssh tunnel) Получаю ошибку Mongo Server error (MongoCommandException): Command failed with error 8000 (AtlasError): 'no SNI name sent, make sure using a MongoDB 3.4+ driver/shell.'
Azamat
Привет! Как сделать SQL LEFT OUTER JOIN в mongo. Попробовал $lookup, но он работает как INNER JOIN
Petro
Разве? он возвращает пустые масивы если ненаходит
Petro
может ты делаеш потом $unwind?
Petro
без указание preserveNullAndEmptyArrays: true
Azamat
без указание preserveNullAndEmptyArrays: true
preserveNullAndEmptyArrays: true значит это нужно добавить?
Petro
если unwind используешь то да
Petro
$unwind: { path: "$items", preserveNullAndEmptyArrays: true }
Azamat
$unwind: { path: "$items", preserveNullAndEmptyArrays: true }
Спасибо вам большое! Заработало
Petro
обновил… не помогло, пробую через компас, но там не получается с ssh tunnel, пишет что неможет достучатся к ssh, но все данные верны(ssh), и работаю в studio3t
Веселый Роджер
Подскажите: У меня есть дверь, которую открывают пользователи. Каждый раз, когда человек открывает дверь, я хочу сохранять это в историю. Дверь открывают разные пользователи. Как это правильно хранить ?
Веселый Роджер
Мне нужно тречить как историю открытия людей. Так и общую историю открытия двери
Nick
если дверь может только открываться, то акшн тайп не нужен
Веселый Роджер
эм, {time, userId, actionType}
А это хранить в отдельной коллекции или под каждым юзером
Nick
в отдельной
Веселый Роджер
и связывать по ID пользователя как я понимаю?
Веселый Роджер
Спасибо
Nick
ага
Roman
Товарищи, если мне дали доступ к базе для приложения в виде mongodb+srv://user:pass@staging.qvg.mongodb.net/workflow, но при развертывании приложения выдаёт MongoError: user is not allowed to do action [listIndexes] Это значит для пользователя базы не сделали необходимые права?
Vladimir
да
Roman
Благодарю за ответы
yopp
В строке соединения указать все ноды в кластере. Схема с PSA не рекомендуется. Надежнее использовать PSS
Daniil
арбитр нужен когда надо добавить еще один голос для кворума если есть возможность заменить арбитра на еще одну ноду, то лучше заменить
Artem
Как это использовать асинхронно, без каллбеков? Заново подключаться к базе при каждом запросе приводит к потере производительности?
Максим
Ребята, скажите вебинтерфейс для монги работает сейчас? прочитал что можно в браузере подключиться по localhost:28017 но у меня не работает, думаю может это устаревшая фича?
Максим
https://www.w3resource.com/mongodb/connections.php
Максим
вот здесь читал
Artem
есть метод create-if-not-exists для коллекций, или каждый раз проверять существует ли коллекция?
Daniil
есть метод create-if-not-exists для коллекций, или каждый раз проверять существует ли коллекция?
Коллекция автоматически создаётся при попытке записи в неё
Daniil
а при попытке взять из неё значение?
Я думаю что при любой попытке обратиться к ней
Artem
Я думаю что при любой попытке обратиться к ней
можно пример кода работы с коллекцией? не совсем понимаю, как к ним обращаться внутри базы
Artem
В случае с mongoose?
До mongoose я еще не дошел, пытаюсь просто запустить базу и прогнать тестовый запрос по документации
Daniil
Если вы с nodejs работаете, то это или mongoose или оф драйвер
Daniil
Там в документациях достаточно примеров
Daniil
Для получения коллекции если я не ошибаюсь используется метод getCollection
Artem
TypeError: db.getCollection is not a function
Daniil
А уже у полученного объекта коллекции можно вызывать методы CRUD
Artem
собсвтенно поэтому и написал
Artem
вероятно, db сгенерировал криво
Artem
Artem
Покажите код
Там просто .collection, так работает
Maxim
Всем привет, подскажите, кто-нибудь на php пробовал обновить значение в бд с типом DOUBLE? у меня не выходит $heroku->updateOne( array('discount' => $doc['discount']), array('$set' => array('discount' => (float)1.11)) ); вот так пробовал, но не выходит $heroku->updateOne( array('discount' => $doc['discount']), array('$set' => array('discount' => floatval(1.33))) ); и вот так тоже не хочет обновляться в бд
Ffff
Всем привет, какие есть бесплатные инструменты для проектирования бд на mongo
Ffff
Куда не сунусь везде или сразу платные или монго доступен в ентерпрайз версии
Ffff
Цены с нынешним курсом доллара вообще кусаются
Artem
В каком виде хранить/добавлять/доставать массивы в монге на оф. драйвере?
Artem
Я хочу хранить список значений
Artem
но в результате .find все равно получаю массив объектов с _id, который приходится обходить, чтоб собрать чистый массив значений
Daniil
Ничего не мешает засетить массив ($set), работать с ним можно через $push/$pull и тд
Artem
Не совсем понял
у меня есть условно строки А, Б, В
Artem
хочу хранить их в базе
Artem
в каком виде мне их хранить, чтоб доставать их как ['A', 'Б', 'В'] ?
Daniil
у меня есть условно строки А, Б, В
В контексте разных документов или одного?
Artem
В контексте разных документов или одного?
одного. Я просто хочу создать массив в базе, грубо говоря, добавлять в него элементы, а потом достать все разом тем же массивом
Artem
Я получаю это: [ { _id: 5f650fa152d9532affa0b87c, word: 'test' } ] А хочу это: [ 'test' ]
Artem
Нужно это, но, почему-то оно не работает😅
Artem
Artem
Только у них в коде db.inventory.find, а у меня db.collection('name').find
Anatoly
https://t.me/mongodb_ru/80498
это тебе даст тот же эффект как у них find({yourQuery}, {_id: 0, world: 1})
Artem
А как вообще прямое обращение работает?
Artem
Типо после создания коллекции я могу просто к db.name обращаться?