Node.js 续集FindCountAll和包含计数的模型

Node.js 续集FindCountAll和包含计数的模型,node.js,postgresql,sequelize.js,Node.js,Postgresql,Sequelize.js,我使用postgresql/sequelize和findAndCountAll函数 Entry.findAndCountAll({ where: {TitleId: title.id}, include: [ {model: User, as: 'users', attributes: ['username']}, {model: EntryHasLike} // I need to count this. m

我使用postgresql/sequelize和findAndCountAll函数

   Entry.findAndCountAll({
        where: {TitleId: title.id},
        include: [
            {model: User, as: 'users', attributes: ['username']},
            {model: EntryHasLike} // I need to count this. model.
        ],
        offset: 15 * (req.body.page - 1),
        limit: 15
    }).then(entries => {
        res.json({
            title: title,
            count: entries.count,
            entries: entries.rows // [I want to count of likes inside this table]
        })
    }).catch(err => {}
我正在使用findAndCountAll计算条目,但我希望另外计算与entries.Id相同的EntryHasLikes模型

入口类模型:

'use strict';
module.exports = (sequelize, DataTypes) => {
  const EntryHasLike = sequelize.define('EntryHasLike', {
    EntryId: {
      type:DataTypes.INTEGER,
      allowNull: false,
      primaryKey: true
    },
    UserId: {
      type:DataTypes.INTEGER,
      allowNull: false
    },
    likeDate: {
      type: DataTypes.DATE,
      allowNull: false,
      defaultValue: DataTypes.NOW
    }
  },{
    timestamps: false
  });
  EntryHasLike.associate = function(models) {
    EntryHasLike.belongsTo(models.User)
    EntryHasLike.belongsTo(models.Entry)
  };
  return EntryHasLike;
};
'use strict';
module.exports = (sequelize, DataTypes) => {
  const Entry = sequelize.define('Entry', {
    UserId: {
      type: DataTypes.INTEGER,
      allowNull: false
    },
    entry: {
      type: DataTypes.TEXT,
      allowNull: false
    },
    entryRev: {
      type: DataTypes.STRING,
      defaultValue: 1
    },
    entryRefId: {
      type: DataTypes.INTEGER,
      defaultValue: null
    },
    entryCondition: {
      type: DataTypes.INTEGER,
      defaultValue: 1
    },
    activity: {
      type: DataTypes.INTEGER,
      defaultValue: 1
    },
    TitleId: {
      type: DataTypes.INTEGER,
      allowNull: false
    }
  }, {});
  Entry.associate = function(models) {
    Entry.belongsTo(models.Title, {foreignKey: 'TitleId', as: 'titles'})
    Entry.belongsTo(models.User, {foreignKey: 'UserId', as: 'users'})
    Entry.belongsToMany(models.EntryCat, {through: 'EntryHasCats', as: 'entrycats'})
    Entry.belongsToMany(models.EntryTag, {through: 'EntryHasTags', as: 'entrytags'})
    Entry.hasMany(models.EntryHasLike)
  };
  return Entry;
};
进入模式:

'use strict';
module.exports = (sequelize, DataTypes) => {
  const EntryHasLike = sequelize.define('EntryHasLike', {
    EntryId: {
      type:DataTypes.INTEGER,
      allowNull: false,
      primaryKey: true
    },
    UserId: {
      type:DataTypes.INTEGER,
      allowNull: false
    },
    likeDate: {
      type: DataTypes.DATE,
      allowNull: false,
      defaultValue: DataTypes.NOW
    }
  },{
    timestamps: false
  });
  EntryHasLike.associate = function(models) {
    EntryHasLike.belongsTo(models.User)
    EntryHasLike.belongsTo(models.Entry)
  };
  return EntryHasLike;
};
'use strict';
module.exports = (sequelize, DataTypes) => {
  const Entry = sequelize.define('Entry', {
    UserId: {
      type: DataTypes.INTEGER,
      allowNull: false
    },
    entry: {
      type: DataTypes.TEXT,
      allowNull: false
    },
    entryRev: {
      type: DataTypes.STRING,
      defaultValue: 1
    },
    entryRefId: {
      type: DataTypes.INTEGER,
      defaultValue: null
    },
    entryCondition: {
      type: DataTypes.INTEGER,
      defaultValue: 1
    },
    activity: {
      type: DataTypes.INTEGER,
      defaultValue: 1
    },
    TitleId: {
      type: DataTypes.INTEGER,
      allowNull: false
    }
  }, {});
  Entry.associate = function(models) {
    Entry.belongsTo(models.Title, {foreignKey: 'TitleId', as: 'titles'})
    Entry.belongsTo(models.User, {foreignKey: 'UserId', as: 'users'})
    Entry.belongsToMany(models.EntryCat, {through: 'EntryHasCats', as: 'entrycats'})
    Entry.belongsToMany(models.EntryTag, {through: 'EntryHasTags', as: 'entrytags'})
    Entry.hasMany(models.EntryHasLike)
  };
  return Entry;
};
我尝试了许多解决办法,但都没有结果。正如您在下面看到的相关问题,但所有这些都是关于findAll函数的。我的功能是findAndCountAll