dexofan
Лул
AlexMist
http://vincit.github.io/objection.js/#introduction
Спасибо , но я хотел что то вроде хелпера, без ORM Универсальный метод для сворачивания результата запроса, например с указанием поля. )
Anonymous
всем привет! столкнулся с проблемой после установки MongoDB. Открываю командную строку, перехожу в нужную папку на диске C : mongodb/bin , затем ввожу команду "mongod —directoryperdb —dbpath C:\mongodb\data\db —logpath C:\mongodb\log\mongo.log —logappend —rest —install" после чего выходит ошибка "Error parsing command line: unrecognised option '--rest' try 'mongod —help' for more information" кто нибудь сталкивался с такой проблемой?
сomorsiс
а ты знал что гугл создал не только поисковик?
Джон
хотя нет, файлообменник создал майкрософт
сomorsiс
Переводчик
Джон
Dmitry
посоветуйте sqlite менеджер
Sergey
Спасибо , но я хотел что то вроде хелпера, без ORM Универсальный метод для сворачивания результата запроса, например с указанием поля. )
что-то типа такого function makeObjectColumn(name, fields) { const jsonObj = []; const columns = []; Object .keys(fields) .forEach((key) => { jsonObj.push(`'${key}',??`); columns.push(fields[key]); }); return knex.raw( `JSON_AGG(JSON_BUILD_jsonObjECT(${jsonObj.join(',')})) AS ${name}`, columns ); }
Nikolay
подскажите по регекспам, кто шарит есть вот такой код, который не работает в ноде, не пойму в чем причина let s = 'chat_accept_123321'; let re = new RegExp('^chat_(?:accept|decline)_(\d+)$', "m"); let id = re.exec(s); logger.d(id); // тут получаю null
Sergey
и соответственно использовать его внутри джоинов
Sergey
ну аналоги какие-то в других базах есть наверняка
Alisher
хорошая программа
Dmitry
спасибо, попробую
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Кто-нибудь смотрел loopback 4?
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Как оно?
Дима
Звездные войны лучше
Alisher
Как оно?
http://senecajs.org/ посмотрите тоже
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Alisher
эт другое оказывается)
Alisher
подумал для микросервисов
Roman
подскажите по регекспам, кто шарит есть вот такой код, который не работает в ноде, не пойму в чем причина let s = 'chat_accept_123321'; let re = new RegExp('^chat_(?:accept|decline)_(\d+)$', "m"); let id = re.exec(s); logger.d(id); // тут получаю null
потому что регулярка создаётся через конструктор из строки, а не из литералов. так как у тебя юзается строка, то в строке нужно экранировать '\', так как в строках значит он одно, а в регулярках другое
Roman
(new RegExp('^chat_(accept|decline)_([\\d]+)$', "m")).exec('chat_accept_123') [ 'chat_accept_123', 'accept', '123', index: 0, input: 'chat_accept_123' ]
Nikolay
спасибо
Roman
(new RegExp('^chat_(?:accept|decline)_([\\d]+)$', "m")).exec('chat_accept_123') [ 'chat_accept_123', '123', index: 0, input: 'chat_accept_123' ]
Roman
случайно упустил из первог опримера оригинальный шаблон
Nikolay
да не важно, я ошибку свою понял
Anonymous
помогите
Rem1te
Помогаем
Илья | 😶☮️🐸
ментально помог
Rem1te
Хорошее комьюнити
Anonymous
Anonymous
hbs.registerHelper("getPrice", () => { async function f() { await Product.findOne({}, (err, data) => { console.log("Выбрал объект"); let res = data.id; return res; }); return res; }; return "<img src='" + dirname + "/photo" + id + "'>" }); __________________________________________________________ Нужно взять свойство объекта из бд (data.id) и вставить его в результат хелпера. Я уже много раз переписывал код, но все остается одна и та же ошибка. Я не знаю, что делать с эьтм. Хочу свалить в пту на повара.
Anonymous
мне чувак какой-то сказал вчера, что достать свойство из объекта бд лучше через промисы
Anonymous
к сожалению, не могу найти его
Anonymous
кто понимает его, скажите, как надо?
Michael 🌌
Я наверное идиот, но зачем у тебя внутри стрелочной функции асинхронная функция?
Rem1te
я что-то вообще понимать не понимаю что тут происходит. Откуда вы пытаетесь взять id И зачем у тебя внутри стрелочной функции асинхронная если ты её нигде не вызываешь ?
Michael 🌌
Не имеет смысла
Michael 🌌
Ты её не используешь вообще
Rem1te
можно, но зачем она там
Anonymous
стрелочная - это коллбек хелпера
Rem1te
да
Rem1te
а асинхронная зачем там ?
Rem1te
Вы внутри колбека объявляете асинхронную функцию в которой "что-то" делаете и возвращаете из неё строчку которая обращаеться к id который нигде не объявлен, я подозреваю что это должен быть id из data (data.id)
Anonymous
потому что кто-то сказал мне вчера, что через await нужно получать данные из бд
Anonymous
сейчас попробую без нее
Rem1te
Правельно он тебе сказал, потому что запросы в БД - асинхронные
Rem1te
вопрос в том что Ваша функция которая ходит за данными на самом деле за ними не ходит
Rem1te
потому что она не выполняется
Michael 🌌
hbs.registerHelper("getPrice", () => { return Product.findOne({}, (err, data) => { console.log("Выбрал объект"); return "<img src='" + dirname + "/photo" + data.id + "'>" }); }); Попробуй так
Michael 🌌
Правда надо добавить обработку пустого результата
Rem1te
Да это похоже на правду
Anonymous
сейчас попроу
Anonymous
ребят как сделать чтобы console.log в дочернем процессе (созданном с помощью child_process.fork()) выводил результат в основном ?
Michael 🌌
Понимаешь, почему?
Rem1te
Нет
Rem1te
щас 2 минутки я распишу
Anonymous
Понимаешь, почему?
не понимаю, зачем первый return
Michael 🌌
Можно и без него, но лучше всегда возвращать что-то из функции
Rem1te
не понимаю, зачем первый return
он там не обязателен
Michael 🌌
Да и так ты точно уверен, что дальше никуда функция выполняться не будет
сomorsiс
ок
Michael 🌌
Handlebars
Anonymous
он там не обязателен
без него немного по-другому работает
Rem1te
Для работы с асинхронными операциеями есть 3 механизма, колбеки ( то что у Вас в самом начале) Промисы, и асинк авейты. ТАк вот в примере кода который Вы бросили изначально, вы объявляли функцию f которая ходила в базу данных асинхронно, но НИГДЕ ЕЁ НЕ ИСПОЛЬЗОВАЛИ, получалось что вы просто объявляете функцию. В изначальном примере можно было бы модифицировать как-то так async function f() { return Product.findOne({}, (err, data) => { console.log("Выбрал объект"); let res = data.id; return res; }); }; hbs.registerHelper("getPrice", async () => { await f(); return "<img src='" + dirname + "/photo" + id + "'>" });
Anonymous
ребят как сделать чтобы console.log в дочернем процессе (созданном с помощью child_process.fork()) выводил результат в основном ?
Rem1te
В вашем же случае изначально функция объявлялась но не использовалась
Rem1te
без него немного по-другому работает
не могу сейчас проверить к сожалению что бы объяснить разницу