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 (
yopp
yopp
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
Дмитрий
посмотрел в конфиг сервиса - судя по нему, она должна брать конфиг оттуда, откуда я и писал выше
yopp
Тогда попробуйте запустить сначала явно указав конфиг
Дмитрий
в этом и дело, что, если запускать командой
mongod --pathbd /var/lib/mongodb
- всё работает
Дмитрий
но мне нужно как сервис запустить )
yopp
yopp
mongod --config /etc/mongod.conf
yopp
Ещё можно включить -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
️lefrotite
Как это сделать?
Анатолий
Как найти нужный тебе элемент?
Анатолий
А куда ты собрался новый элемент добавлять?
️lefrotite
users.find_one({<условие>},
{actions:0}, а далее?
️lefrotite
Анатолий
У тебя 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..