Nick
я не спорю что он есть, но всеже да печаль беда, может и не использовали бы эластик рядом
Vova
Можно через js искать с опечатками
Vova
Ну это самое очевидное)
Vova
where() если не ошибаюсь
Nick
извините вырвалось
Constantin
я не спорю что он есть, но всеже да печаль беда, может и не использовали бы эластик рядом
Это верно, но мне как эластик себя ведет тоже не очень нравится. Наиболее красивого поиска я добивался только со сфинксом, но опять таки, это все рядом, и не про логи, про реализацию поиска в конкретных проектах.
Edouard
Выпала) стопнул, рсинк-нул, полет нормальный.
Andrey
всем привет! подскажите плз contains a path separator '/' and can't be dumped to the filesystem как такое исправляется?
Liman
почему к mongodb приконектиться не могу?
dima
Привет всем.
dima
Подскажите, небольшой вопрос. Исходя из того что .find (выборка из бд) не принимает колбек, то вопрос, насколько это кривой код для продакшена? MongoClient.connect( uri, { useNewUrlParser: true } ) .then(client => { (async () => { const cursor = await client .db("todo-app") .collection("my-todos") .find({}, null); cursor.forEach(todo => console.log(todo)); })(); }); Просто решил в теле .then когда получаем клиента ипользовать IIFE и await/async, а то пока курсор придет, мне надо отдавать клиенту выборку, ну и .find не приходит вовремя без промиса
dima
Понял, спс
Oleg
Привет, пытаюсь восстановить из бекапа сервер. подскажите как "пересоздать сервер", вычистить всё и начать заново? storage: dbPath: /opt/mongodb journal: enabled: true можно ли это руками погрохать и что там можно вычистить?
yopp
Выключить монгу, удалить содержимое dbPath. Но лучше не удалять, а переименовать и удалить когда будет ясность что ничего не потерялось ;)
Dmitriy
ребят, а ткните носом в доку, пожалуйста, как в монге посмотреть размер конкретного документа? что-то не могу сам найти
yopp
В монге — никак.
yopp
Вы можете на клиенте посчитать размер документа в bson
yopp
В mongo-shell есть Object.bsonsize
yopp
Если по быстрому надо
Oleg
Привет, пытаюьс восстановить из бекапа: mongorestore --host=127.0.0.1 --port=27018 -u admin -p "P@ssw0rd1" --authenticationDatabase=admin --db=Config --gzip ./2018-11-02/Config ... 2018-11-02T13:49:25.288+0200 Failed: Config.Environment: error creating collection Config.Environment: error running create command: db already exists with different case already have: [config] trying to create [Config] это что, caseinsesetive какая-то опция?
yopp
Привет, пытаюьс восстановить из бекапа: mongorestore --host=127.0.0.1 --port=27018 -u admin -p "P@ssw0rd1" --authenticationDatabase=admin --db=Config --gzip ./2018-11-02/Config ... 2018-11-02T13:49:25.288+0200 Failed: Config.Environment: error creating collection Config.Environment: error running create command: db already exists with different case already have: [config] trying to create [Config] это что, caseinsesetive какая-то опция?
Название коллекций и баз данных case-insensitive. В данном случае mongorestore не даёт залить коллекцию с другим регистром, во избежании потери данных. Удалите или переименуйте существующую коллекцию.
Alexander
Здравствуйте! Можно ли как-то посмотреть timestamp самой старой записи, если в коллекции никакого своего поля datetime/timestamp нет?
yopp
если в _id значение типа ObjectId, то вы можете извлечь временную отметку из него. Это не гарантирует связи со временем создания документа, но обычно она есть :)
Alexander
Спасибо, смотрю
Мечтатель
А _id генерится на стороне приложения?
Constantin
А _id генерится на стороне приложения?
Да, но в некоторых случаях может и на стороне монги
Мечтатель
Да, но в некоторых случаях может и на стороне монги
А, я понял. Это если создавать документы не через драйвер, а напрямую
Constantin
А, я понял. Это если создавать документы не через драйвер, а напрямую
Если вы про утилиту mongo, то скорее всего также на стороне приложения, но точной информации у меня нет
yopp
А, я понял. Это если создавать документы не через драйвер, а напрямую
_id будет сгенерирован на сервере, если при создани документа он не был указан
Мечтатель
_id будет сгенерирован на сервере, если при создани документа он не был указан
Спасибо. Стало быть и время будет в _id зашито серверное
Alexander
Если нет mongos'а, каким образом распределяются запросы? У меня сейчас все на PRIMARY идут. Приложение само, получается, идёт на PRIMARY? Потому что в connection string PRIMARY первый по очереди? Или потому что при соединении приложение не ставит secondaryPreferred (это ведь приложение при соединении должно устанавливать?) ?
Oleg
подскажите, пожалуйста, как начать работать с монго? ~$ mongod --version db version v4.0.3 git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017 allocator: tcmalloc modules: none build environment: distmod: ubuntu1404 distarch: x86_64 target_arch: x86_64 ~$ sudo service mongod start Failed to start mongod.service: Unit mongod.service not found. ~$ sudo service mongodb start Failed to start mongodb.service: Unit mongodb.service not found. что я не так делаю?
Alexander
Дак сервиса, наверное, нет.
Oleg
что это значит?
Oleg
он же установлен.
yopp
а вы как ставили монгу?
Oleg
я не помню, давно ставил. а есть много способов?
Oleg
пытался ещё переустановить её. ~$ sudo apt remove mongod ничего не дало. не удалось найти пакет
Oleg
этот (https://www.anintegratedworld.com/uninstall-mongodb-in-ubuntu-via-command-line-in-3-easy-steps/) сайт не помог с удалением. версия всё равно выводит 4.0.3. помогите, пожалуйста.
Constantin
я не помню, давно ставил. а есть много способов?
Репозиторий стандартный Репозиторий монги Альтернативный репозиторий Сборка из исходников
Oleg
ну стандартный скорее всего
Constantin
cd /etc/systemd/system ls
Oleg
cd /etc/systemd/system ls
bluetooth.target.wants hddtemp.service dbus-fi.w1.wpa_supplicant1.service multi-user.target.wants dbus-org.bluez.service network-online.target.wants dbus-org.freedesktop.Avahi.service oem-config.service.wants dbus-org.freedesktop.ModemManager1.service paths.target.wants dbus-org.freedesktop.nm-dispatcher.service printer.target.wants dbus-org.freedesktop.resolve1.service sleep.target.wants dbus-org.freedesktop.thermald.service sockets.target.wants default.target.wants sysinit.target.wants display-manager.service syslog.service display-manager.service.wants systemd-rfkill.service final.target.wants systemd-rfkill.socket getty.target.wants timers.target.wants graphical.target.wants
Oleg
ни слова про монгу
Constantin
cd /lib/systemd/system ls
Constantin
А у вас 14 убунту или 16?
Oleg
надо было, видимо, убунту ставить.
Oleg
cd /lib/systemd/system ls
https://hastebin.com/etukolafer.sql там много, поэтому так. про монго опять ничего нет.
Oleg
На вид у вас стоит для 14
build environment: distmod: ubuntu1404 distarch: x86_64 target_arch: x86_64 ну да... там вроде под минт ничего нет.
Constantin
У вас такой файл есть /usr/bin/mongod
Oleg
поэтому выбираю убунту. почему 14, не знаю
Oleg
Constantin
Он у вас есть?
Oleg
да, нашёл его
Constantin
/lib/systemd/system
Constantin
Тут создайте файл mongod.service
Constantin
[Unit] Description=High-performance, schema-free document-oriented database After=network.target Documentation=https://docs.mongodb.org/manual [Service] User=mongodb Group=mongodb ExecStart=/usr/bin/mongod --config /etc/mongod.conf # file size LimitFSIZE=infinity # cpu time LimitCPU=infinity # virtual memory size LimitAS=infinity # open files LimitNOFILE=64000 # processes/threads LimitNPROC=64000 # total threads (user+kernel) TasksMax=infinity TasksAccounting=false # Recommended limits for for mongod as specified in # http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings [Install] WantedBy=multi-user.target
Constantin
Это содержимое
Constantin
/etc/mongod.conf Этот файл тоже дожен быть
Constantin
После этого sudo systemctl daemon-reload
Constantin
sudo systemctl mongod status
Constantin
Если не говорит, что юнита нет такого, sudo systemctl start mongod
Constantin
Должно сработать
Oleg
/etc/mongod.conf Этот файл тоже дожен быть
он есть. с ним ничего не делать?
Constantin
Constantin
Если захотите, чтобы при старте системы запускалась монга: sudo systemctl enable mongod