Anonymous
кажется, понял
Shaxawan
Hello everyone, can anyone tell me is mongodb good choice for an accounting software?
Nickolay
Hello, yes, why not
Anonymous
Почему хелпер передает на страницу [object Object]? Код: hbs.registerHelper("getPrice", () => { return "строка"; // на странице [object Object] });
yopp
Это чят про монгу, а не про js.
Sergey
Что-то туплю. Обычным where через projection достать определённый элемент по индексу из массива нельзя же? Только через $slice?
yopp
Неа
yopp
https://docs.mongodb.com/v3.4/tutorial/project-fields-from-query-results/#project-specific-array-elements-in-the-returned-array
Sergey
Но при этом проджектить поля внутри уже нельзя?
Sergey
Каждый раз, когда надо достать элемент из массива не понимаю почему не сделали обычный dot-notation (
Sergey
Есть документ с последовательным списком задач, надо достать только текущую по индексу
Sergey
И только некоторые поля, потому что остальные не нужны для выполнения самой задачи
Sergey
Можно достать все, конечно, но лишние данные гонять не хочется
yopp
Документ большой?
Sergey
До мегабайта. Задач в каждом может быть до сотни. Самих документов в активном состоянии может быть несколько тысяч и воркеры будут забирать их пачками. Но из-за узкой специализации воркеров отдавать сразу все задачи нет смысла.
yopp
Ну вырежи саму задачу через $slice: [индекс, 1]
yopp
Внутри одной задачи поля переживешь :)
yopp
Но тут возникает вопрос к архитектуре. Если основная цель документов — хранить задави, а их неудобно вытаскивать, значит надо что-то менять
Sergey
А какие ещё варианты? Если хранить в связанных документах, то на каждый запрос "достать задачи определенного типа и только текущие" будет просто ад) Или делать отдельно документ для очереди, но тут хз насколько имеет смысл это делать. Кажется, slice - не сильно сложная вещь.
Sergey
Плюс сейчас можно атомарно одним апдейтом обновлять статус и конкретной задачи и всего списка в целом, а в других вариантах этот бонус теряется.
Sergey
Вот, кстати, непонятно почему в $set aaa.1.bbb работает, а в projection - нет
yopp
Ну заведи тикет в жире
Sergey
Я его вроде даже находил
Sergey
Сейчас в дороге просто
Дмитрий
Всем привет! Подскажите, плз: Есть linux 16, на нём стоит mongodb. Работало ~3 недели - всё было ок (работало всё автономно). Сейчас же при попытке запустить mongod вижу exception in initAndListen: 29 Data directory /data/db not found., terminating linux , при этом база данных у меня лежит в другом месте (/var/lib/mongodb). В файле \etc\mongod.conf указано верное место с базой данных; при запуске через mongod —dbpath /var/lib/mongodb - всё работает. Как настроить запуск монгодб с нормальным местом базы данных по дефолту ?
yopp
Вероятно на вашей платформе конфиг находится не в etc
Дмитрий
Вероятно на вашей платформе конфиг находится не в etc
есть какие-то спобобы узнать, где находится конфиг, например, командой?
Дмитрий
посмотрел в конфиг сервиса - судя по нему, она должна брать конфиг оттуда, откуда я и писал выше
yopp
Тогда попробуйте запустить сначала явно указав конфиг
Дмитрий
в этом и дело, что, если запускать командой mongod --pathbd /var/lib/mongodb - всё работает
Дмитрий
но мне нужно как сервис запустить )
yopp
в этом и дело, что, если запускать командой mongod --pathbd /var/lib/mongodb - всё работает
Путь к конфигурационному файлу укажите, а не настройку.
yopp
mongod --config /etc/mongod.conf
yopp
Ещё можно включить -vvvvvv и посмотреть откуда монга пытается прочитать конфиг
Дмитрий
mongod --config /etc/mongod.conf
если указать так - срабатывает
Дмитрий
что довольно странно)
Дмитрий
Ещё можно включить -vvvvvv и посмотреть откуда монга пытается прочитать конфиг
по этой команде вообще не видно, откуда монга пытается считать конфиг
Дмитрий
[initandlisten] MongoDB starting : pid=9 417 port=27017 dbpath=/data/db 64-bit host=86219.local
Дмитрий
первая строка
yopp
Ну тогда временно создаёте /data/db, запустите сервис и посмотрите вывод db.runCommand({getCmdLineOpts:1})
yopp
Там будет указано какой конфиг оно прочитало.
Дмитрий
сейчас буду пробовать )
Дмитрий
Там будет указано какой конфиг оно прочитало.
как сервис - всё равно не запускается
Дмитрий
однако, теперь просто mongod запускается без ошибок
yopp
Вам скорее где-то на канале девопсов помогут.
Дмитрий
я понимаю, что самый простой вариант - перенести базу оттуда, где она была, в эту папку
Дмитрий
но ведь не дело так)
yopp
Это не к монге вопрос, а к вашему дистрибутиву.
Дмитрий
👀 ладно))) в любом случае спасибо за помощь! 😉
yopp
Посмотрите логи аудита, если есть. Само ничего не ломается.
yopp
Либо обновилось что-то, либо чьи-то руки
Arthur
Доброго вечера, подскажите пожалуйста, почему эта функция не сохраняет новое значение поле description в коллекции монго дб?
Arthur
это метод dbutils.getAll();
️lefrotite
Как мне методом $push добавить в массив 'points' новый элемент, если он вложен в другие массивы?
️lefrotite
Анатолий
Как мне методом $push добавить в массив 'points' новый элемент, если он вложен в другие массивы?
Надо найти элемент в который хочешь добавить (первый массив, внещний) и затем изменять вложеный через $ (actions.$.points)
️lefrotite
Как это сделать?
Анатолий
Как найти нужный тебе элемент?
Анатолий
А куда ты собрался новый элемент добавлять?
️lefrotite
users.find_one({<условие>}, {actions:0}, а далее?
Анатолий
У тебя 5 эоементов в массиве
Анатолий
Actions, в какой добавить хочещь?
️lefrotite
Нет-нет
️lefrotite
В actions у меня находитс список '0', в котором список points
️lefrotite
Вот мне надо $push в points
Анатолий
Можешь в лоб actions[0].points
️lefrotite
Эхм, у меня Python
️lefrotite
Там иначе дело обстоит
Анатолий
Там строка будет
Анатолий
Не важен язык
Анатолий
Это ключ в виде строки
yopp
$push: {“actions.0.points”: “foo”}, если судить по скнишоту
️lefrotite
Благодарствую
Iron
Hi All, can anybody please help me for a mongodb group links where the communication happens in english language?
Iron
Sorry if this is not the correct place to ask this..
Nick
Sorry if this is not the correct place to ask this..
I don't know any other mongo channels. So you can try ask here.
yopp
I don't know any other mongo channels. So you can try ask here.
There is a Brazilian one with 600+ people. But I think it’s time to get a group for English speaking folks, so here it is: @mongo_db