Oleg
sudo systemctl mongod status
Unknown operation mongod.
Constantin
Unknown operation mongod.
sudo systemctl status mongod
Constantin
Попутал порядок
Oleg
sudo systemctl status mongod
● mongod.service - High-performance, schema-free document-oriented database Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: https://docs.mongodb.org/manual не совсем понимаю. всё ок?
Constantin
sudo systemctl status mongod
Constantin
выдаст вам активный статус юнита
Oleg
● mongod.service - High-performance, schema-free document-oriented database Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2018-11-02 17:08:29 EET; 2min 23s ago Docs: https://docs.mongodb.org/manual Process: 5351 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=1/FAILURE) Main PID: 5351 (code=exited, status=1/FAILURE) ноя 02 17:08:29 olegbrony systemd[1]: Started High-performance, schema-free document-oriented database. ноя 02 17:08:29 olegbrony mongod[5351]: 2018-11-02T17:08:29.452+0200 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' ноя 02 17:08:29 olegbrony mongod[5351]: 2018-11-02T17:08:29.452+0200 F CONTROL [main] Failed global initialization: FileNotOpen: Failed to open "/var/log/mongodb/mongod.log" ноя 02 17:08:29 olegbrony systemd[1]: mongod.service: Main process exited, code=exited, status=1/FAILURE ноя 02 17:08:29 olegbrony systemd[1]: mongod.service: Failed with result 'exit-code'.
Constantin
/var/log/mongodb/mongod.log — ну пишет, что с правами на файл нужно разобраться
Constantin
Директория /var/log/mongodb/ и файлы в ней должны принадлежать пользователю под которым монга стартует
Constantin
и группа естественно тоже mongodb должна быть
Constantin
В общем можете дальше итеративно делать:```sudo systemctl start mongod``` и sudo systemctl status mongod пока не увидите, что он стартанул
Oleg
Директория /var/log/mongodb/ и файлы в ней должны принадлежать пользователю под которым монга стартует
а какие файлы в ней должны быть? просто папки не было, я только создал.
Constantin
Папку создайте и владельца задайте
Constantin
Да, владельца же знаете как задать?
Oleg
нет
Constantin
Вы давно линуксом пользуетесь? =)
Oleg
пару месяцев
Constantin
sudo chown ВЛАДЕЛЕЦ:ГРУППА ПАПКА_ИЛИ_ФАЙЛ
Constantin
пару месяцев
Советую поискать книгу по администрированию своей linux машины
Constantin
Если не поможет, то тачем создайте файл логов, и на него тоже владельца нужного задайте
Constantin
Мне нужно идти
Oleg
ладно, спасибо
Oleg
Есть у кого вообще опыт установки на минт?
Oleg
Может, нужен другой дистрибутив.
Alexander
Минт - это же убунта с другой DE ?
Alexander
Может, нужен другой дистрибутив.
https://docs.mongodb.com/manual/administration/production-notes/#supported-platforms
Dmitriy
ребят, а монго же безусловно на поле _id индекс выставляет?
Dmitriy
Да
Ещё раз спасибо
Constantin
Директория жеж )
Да, забыл про R
Anonymous
Здравствуйте! Можете подсказать, при работе с курсором, в каких случаях нужно пользоваться forEach а когда map? (второй у меня вообще не работает, либо я чего-то недопонял)...
Andrew
forEach для перебора массива, например можно вывести данные в csv db.collection.find({field:"value", field1:"value1"}).forEach(function (op) {print(op.field+"; "+op.field1)} ) Это выведет value; value1
Andrew
Ну или любым другим способом с помощью javascript обработать данные полученные в запросе (агрегации) перед forEach
Andrew
А map тоже самое но формирует массив на выходе, особо не пользовался, думаю меня поправят если не прав
Andrew
А console.log в монге вообще работает?
Anonymous
Ну так я же через Node запускаю
Andrew
А
Anonymous
в forEach все окей
Anonymous
вот пытаюсь понять зачем вообще нужен map 🙂
Andrew
Для интересна на тестовой базе попробовал, у меня работает db.getCollection('mail').find({"mailbox" : "...","filename" : "..."}).map(function(u) {return u.mailbox} ) выдает массив со значением поля mailbox
Andrew
Соответственно могу присвоить это в переменную array и потом использовать
Anonymous
надо ишью глянуть
Nick
Здравствуйте! Можете подсказать, при работе с курсором, в каких случаях нужно пользоваться forEach а когда map? (второй у меня вообще не работает, либо я чего-то недопонял)...
Мап и форич для разных задач. Мап - часть стрима, т.е. вы преобразуете поток данных к нужному виду и дальше будете с ними чтото делать. Как правило мап ленивый и не выполняется сам по себе. Форич же терминальная часть стрима, где как раз совершается действие над элементами, оно же инициируетует получение данных из курсора и обработку через промежуточнве стадии типа мап
Max
Привет: делаю запрос: db.users.update( {}, { $set: {'driver.rejectedRequestCount': 0 } }, false, true ) почти всё ок, только мне почему-то сетается в поле вместо "0" - "0.0".. Это норм? как лечить?
Max
Делаете через утилиту mongo?
Не robo 3t - уже полечил
Igor
Подскажите пожалуйста, необходимо выбрать значения между двумя датами в юниксе. db.getCollection('documents').find({"data.fieldValue" : {$gt: 1292134320000, $lt: 1292134329999} }) $gt - вроде бы отрабатывает нормально, а $lt игнорируется, в результате запрос показывает погоду.
Igor
Я вызывал как OR ?
Vova
OR это будет $or. Ты вызывал неправильно
Igor
понял, спасибо
Vova
понял, спасибо
https://docs.mongodb.com/manual/reference/operator/query/ почитай
Daniil
.find({ $and: [ { "data.fieldValue": { $gt: 1292134320000 } }, { "data.fieldValue": { $lt: 1292134329999 } } ] })
Вообще как бы тут же - https://docs.mongodb.com/manual/reference/operator/query/and/#and-queries-with-multiple-expressions-specifying-the-same-field - явно указано, что это одно и тоже
Daniil
@iureva что твой, что предложенный выше вариант - корректны. Проблема у тебя была/есть в чем-то другом)
NCR
Вот интересно, насколько глубоко искусство монго... 🤔
yopp
Там в 4.2 завезут прямо горы радости — MMAPv1 Removed — Allow $out to append to/merge with existing collection instead of replacing it — Introducing support for multiple incoming migrations per shard, and extending diagnostic information for easier troubleshooting. — Indexed fields no longer are limited to 1024 bytes per value. (!!!) — Optimize $sort+$group+$first pipeline to avoid full index scan
NCR
Я тут только про ограничения в 1кб порадовался
NCR
Значит я ещё далёк от всего потенциала монги
yopp
$out в существующую коллекцию для агрегаций ожидался с момента появления агрегаций
yopp
паралельные миграции чанков в шарде с момента появления монги :)
Nick
Подскажите пожалуйста, необходимо выбрать значения между двумя датами в юниксе. db.getCollection('documents').find({"data.fieldValue" : {$gt: 1292134320000, $lt: 1292134329999} }) $gt - вроде бы отрабатывает нормально, а $lt игнорируется, в результате запрос показывает погоду.
Вы же вкурсн что у вас в выборку не попадают те цифры,которые вы указываете, т.к. используются gt не включающее то число, которое указано, и lt с аналогией не включающей ее число, в результате у вас в диапазоне не выбираются 2 диапазона в милисекунду: [000] и [999-000). Может поэтому у вас выборки кривые? Посмотрите на gte, а lt надо указывать начало следующего диапазона
Igor
Igor
без $lte, все работает корректно
Anonymous
Здравствуйте! Вопрос про NodeJS Driver. Сам вопрос вместе с кодом в гисте, так наверное проще понять будет в чем мой вопрос заключается. Заранее спасибо. https://gist.github.com/AveDemid/2fde2313c99990a95241e387b6a4015f
Yurii
без $lte, все работает корректно
тебе надо не просто $and, а $elemMatch использовть
Yurii
спасибо, работает!
а понял почему?)
Igor
работа с массивом ?