I am trying to count number of Followers and Followings of a user.
as followingCount and followerCount
User Model
User.init(
    {
      id: {
        allowNull: false,
        primaryKey: true,
        type: DataTypes.UUID,
        defaultValue: DataTypes.UUIDV4,
      },
      email: {
        type: DataTypes.STRING,
      },
      password: {
        type: DataTypes.STRING,
      },
    }
  );
static associate(models) {
      // Follow relationship
      this.belongsToMany(models.User, {
        through: 'UserFollow',
        foreignKey: 'followerId',
        as: 'following',
      });
      // Follow relationship
      this.belongsToMany(models.User, {
        through: 'UserFollow',
        foreignKey: 'followeeId',
        as: 'follower',
      });
    }
Where UserFollow is a Joint Table with columns followeeId and followerId.
My current approach for finding number of followings is something like this :
const user = await User.findOne({
      where: {
        id,
      },
      attributes: [
        'id',
        'userName',
        'email',
        [sequelize.fn('COUNT', sequelize.col('following->UserFollow.followeeId')), 'followingCount'],
      ],
      include: [
        {
          model: User,
          as: 'following',
          attributes: ['id', 'userName', 'email'],
          through: {
            attributes: [],
          },
        },
      ],
      group: ['User.id', 'following.id'],
    });
    return user;
And Output getting is like this:
Here I am getting followingCount as 1... but it should be 3.
"data": {
        "id": "1af4b9ea-7c58-486f-a37a-e46461487b06",
        "userName": "xyz",
        "email": "xyz@gmail.com",
        "followingCount": "1",         <------ I want this to be 3
        "following": [
            {
                "id": "484202b0-a6d9-416d-a8e2-6681deffa3d1",
                "userName": "uqwheuo",
                "email": "uqwheuo@gmail.com"
            },
            {
                "id": "56c8d9b0-f5c6-4b2e-b32c-be6363294614",
                "userName": "aiwhroanc",
                "email": "aiwhroanc@gmail.com"
            },
            {
                "id": "9a3e4074-c7a0-414e-8df4-cf448fbaf5fe",
                "userName": "iehaocja",
                "email": "iehaocja@gmail.com"
            }
        ]
    }
I am not able to count in Joint Table..
 
    