async getPostListFollowingFeed(pageIndex: number, pageSize: number, user:User) {
    const userId = user.id;
    const userRepository = getCustomRepository(UserRepository);
    const userQb = userRepository
      .createQueryBuilder('user')
      .select(`cast( jsonb_array_elements ( "user".follows ) ->> 'objectId' AS uuid ),
        jsonb_array_elements ( "user".follows ) ->> 'objectType' AS otype `)
      .where('user.id = :userId', { userId });
    const posts = await this
    .createQueryBuilder('post')
    .where((qb: any) => {
      const subQuery = qb
          .subQuery()
          .select('"tempTb".uuid')
          .leftJoin('user', 'u', 'u.id = "tempTb".uuid')
          .from(`( ${ userQb.getQuery()} )`, 'tempTb')
          .setParameters(userQb.getParameters())
          .where(`"tempTb".otype = 'user' AND u.status = :status`, { status: AccountStatus.Active })
          .getQuery();
      // tslint:disable-next-line:prefer-template
      return 'post.user_id IN ' + subQuery;
    })
    .getMany();
    return posts;
  }生成的sql
SELECT
...
"post"."id" AS "post_id"
...
FROM
"post" "post"
WHERE
"post"."user_id" IN (
SELECT
"tempTb".uuid
FROM
(
SELECT CAST
( jsonb_array_elements ( "user".follows ) ->> 'objectId' AS uuid ),
jsonb_array_elements ( "user".follows ) ->> 'objectType' AS otype
FROM
"user" "user"
WHERE
"user"."id" = 'bd8d86a9-247d-4f74-a8db-a935295b4520'
) "tempTb"
LEFT JOIN "user" "u" ON "u"."id" = "tempTb".uuid
WHERE
"tempTb".otype = 'user'
AND "u"."status" = 'active')










