Как получить чистые данные #sequelize?

использую для работы с mysql Sequelize. но при выборке данных он возвращает свой объект, по типу такого:
spoiler
top {
  dataValues:
   { id: 4,
     is_bool: true,
     value: 'some value',
     order: 4,
     mid: [],
     bot: [ [Object], [Object], [Object], [Object] ] },
  _previousDataValues:
   { id: 4,
     is_bool: true,
     value: 'some value',
     order: 4,
     mid: [],
     bot: [ [Object], [Object], [Object], [Object] ] },
  _changed: {},
  _modelOptions:
   { timestamps: false,
     validate: {},
     freezeTableName: true,
     underscored: true,
     underscoredAll: false,
     paranoid: false,
     rejectOnEmpty: false,
     whereCollection: { id: [Array] },
     schema: null,
     schemaDelimiter: '',
     defaultScope: {},
     scopes: [],
     indexes: [],
     name: { plural: 'tops', singular: 'top' },
     omitNull: false,
     version: false,
     sequelize:
      Sequelize {
        options: [Object],
        config: [Object],
        dialect: [Object],
        queryInterface: [Object],
        models: [Object],
        modelManager: [Object],
        connectionManager: [Object],
        importCache: {},
        test: [Object] },
     hooks: {},
     uniqueKeys: {} },
  _options:
   { isNewRecord: false,
     _schema: null,
     _schemaDelimiter: '',
     include: [ [Object], [Object] ],
     includeNames: [ 'mid', 'bot' ],
     includeMap: { mid: [Object], bot: [Object] },
     includeValidated: true,
     attributes: [ 'id', 'is_bool', 'value', 'order' ],
     raw: true },
  __eagerlyLoadedAssociations: [],
  isNewRecord: false,
  mid: [],
  bot:
   [ fields_item {
       dataValues: [Object],
       _previousDataValues: [Object],
       _changed: {},
       _modelOptions: [Object],
       _options: [Object],
       __eagerlyLoadedAssociations: [],
       isNewRecord: false },
     fields_item {
       dataValues: [Object],
       _previousDataValues: [Object],
       _changed: {},
       _modelOptions: [Object],
       _options: [Object],
       __eagerlyLoadedAssociations: [],
       isNewRecord: false },
     fields_item {
       dataValues: [Object],
       _previousDataValues: [Object],
       _changed: {},
       _modelOptions: [Object],
       _options: [Object],
       __eagerlyLoadedAssociations: [],
       isNewRecord: false },
     fields_item {
       dataValues: [Object],
       _previousDataValues: [Object],
       _changed: {},
       _modelOptions: [Object],
       _options: [Object],
       __eagerlyLoadedAssociations: [],
       isNewRecord: false } ] }

если использовать без сложных запросов, то пройтись циклом и забрать dataValues не сложно, но с увеличением инклюдов и усложнением запросов все становится иначе.

Есть важный момент: при передаче данных клиенту они становятся чистыми. Значит, где все таки есть нужный механизм. Но я ничего не накопал...
  • Вопрос задан
  • 840 просмотров
Решения вопроса 1
Negezor
@Negezor
Senior Shaurma Developer
const model = await Model.findById(...);

const data = model.toJSON();

console.log(data);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы