【问题标题】:How to get data in sequelize using Noje js如何使用Node js在sequelize中获取数据
【发布时间】:2018-10-28 09:32:42
【问题描述】:

这是我使用的代码,获取了数据库中的所有数据,但我没有获得价值。我是续集的新手。

   Project.findAll({ raw: true}).then(function (users) {
        console.log(users);
  console.log(users.dataValues);

    }).catch(function (err) {
        console.log('Oops! something went wrong, : ', err);
    });

这是输出: 这是console.log(users);

   [ DAO {
        dataValues: 
         { idProject: 1,
           projectName: 'Symfony',
           isActive: '1',
           createdAt: 2018-10-23T06:32:43.000Z,
           modifiedAt: 2018-10-23T06:32:43.000Z },
        _previousDataValues: 
         { idProject: 1,
           projectName: 'Symfony',
           isActive: '1',
           createdAt: 2018-10-23T06:32:43.000Z,
           modifiedAt: 2018-10-23T06:32:43.000Z },

        options: { isNewRecord: false, isDirty: false, raw: true },
        hasPrimaryKeys: true,
        selectedValues: 
         RowDataPacket {
           idProject: 1,
           projectName: 'Symfony',
           isActive: '1',
           createdAt: 2018-10-23T06:32:43.000Z,
           modifiedAt: 2018-10-23T06:32:43.000Z },
        __eagerlyLoadedAssociations: [],
        isNewRecord: false }.....

这是 console.log(users.dataValues);

undefined

这怎么可能?

【问题讨论】:

    标签: node.js sequelize.js sequelize-cli


    【解决方案1】:

    当您使用 findAll 时,它会返回一个数组,您可以在文档中看到: http://docs.sequelizejs.com/class/lib/model.js~Model.html#static-method-findAll

    所以你应该遍历这个数组,像这样:

     Project.findAll({ raw: true})
     .then(projects => {
        projects.forEach(project => {
           console.log(project);
           console.log('project name', project.projectName);
        })
     }).catch(function (err) {
         console.log('Oops! something went wrong: ', err);
     });
    

    您可以选择使用 Async/Await 来获得更简洁的代码:

     try {
       const projects = await Project.findAll({ raw: true});
       projects.forEach(project => {
            console.log('project name ', project.projectName);
       })
     } catch(err) {
         console.log('Oops! something went wrong: ', err);
     }
    

    【讨论】:

      猜你喜欢
      • 2016-11-23
      • 2013-10-21
      • 2018-12-02
      • 2019-03-27
      • 2018-03-07
      • 2020-01-25
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      相关资源
      最近更新 更多