Size: a a a

Node.js — русскоговорящее сообщество

2021 April 16

А

Артем @artnal404... in Node.js — русскоговорящее сообщество
спасибо, этих моментов я нигде не слышал
источник

V

Vladimir in Node.js — русскоговорящее сообщество
Привет. Подскажите, пожалуйста, как в sequelize использовать результат sql запроса, вместо всей таблицы, как модель.
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Сначала определяете модель


const User sequelize.define('user', { name: Sequelize.STRING })


Затем делаете выборку


const users = await User.findAll()
users.every(user => user.name)



https://sequelize.org/master/manual/model-querying-basics.html
источник

V

Vladimir in Node.js — русскоговорящее сообщество
Но ведь таким образом я получу просто таблицу, которую указал в модели, а я имел ввиду, чтобы вместо указания таблицы users в модели, использовать sql запрос. Это возможно?
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
У проекта хорошая документация с большим количеством примеров


const projects = await sequelize.query('SELECT * FROM projects', { model: Projects, mapToModel: true });
источник

V

Vlad in Node.js — русскоговорящее сообщество
и если у тебя много юзеров ты положишь жс из-за нехватки памяти
источник

V

Vlad in Node.js — русскоговорящее сообщество
.every же наверняка можно проверить на уровне бд
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Пример из документации для наглядности
источник

V

Vladimir in Node.js — русскоговорящее сообщество
Вот и я хочу, то с чем sql справится быстрее жс, перенести на sql.
источник

V

Vladimir in Node.js — русскоговорящее сообщество
Неужели нельзя в модели указать? Это ведь двойная работа получается, запрос из таблицы users, а затем еще и перенос сторонних данных в эту модель.
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Можно расширить модель,  определить виртуальные поля, свой метод, в доках про это есть
источник

V

Vladimir in Node.js — русскоговорящее сообщество
Но это все будет рассчитывать жс, а не sql.
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Маппинг будет делать js
Непонятно, что вы хотите сделать
источник

V

Vlad in Node.js — русскоговорящее сообщество
не сильно понял твой вопрос
источник

V

Vladimir in Node.js — русскоговорящее сообщество
Скажем так, есть ,например, вот такой запрос select user_id, billtime, dur, if (billtime - dur > 0, 1, 0) 'exp' from calls WHERE user_id = 10 , я бы хотел в качестве основы для модели использовать результат этого запроса, а не брать всю таблицу для этого. Я понимаю, что при обращении к модели мы можем явно указать WHERE user_id = 10, но как if (billtime - dur > 0, 1, 0) 'exp' рассчитать силами базы, а не силами ноды.
Я просто пытаюсь понять возможно ли это.
источник

В

Вика in Node.js — русскоговорящее сообщество
а какая база?
источник

V

Vladimir in Node.js — русскоговорящее сообщество
mysql
источник

В

Вика in Node.js — русскоговорящее сообщество
https://metanit.com/sql/mysql/6.4.php может поможет
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
В определении атрибутов модели можно использовать

sequelize.literal('if(true, 1,0)', 'ext')
источник

В

Вика in Node.js — русскоговорящее сообщество
а это оно и есть)
источник