首页 > 解决方案 > 从 typeorm 中提取特定数据

问题描述

这是我获取关注者的功能

async getFollowingFriend(authUser: User): Promise<FollowingFriendsOutput> {
    try {
        const followers = await this.follow.find({
            where: { follower: authUser },
            relations: ['follower', 'following'],
        });
        console.log(followers);
        return {
            ok: true,
        };
    } catch (error) {
        console.log(error);
        return {
            ok: error,
            error: "You can't get following friend",
        };
    }
}

通过这样做,我得到了这样的数据

[
Follow {
 id: 35,
 createAt: 2021-04-03T13:28:17.395Z,
 updatedAt: 2021-04-03T13:28:17.395Z,
 follower: User {
   id: 24,
   createAt: 2021-04-02T10:52:30.605Z,
  updatedAt: 2021-04-03T00:47:02.243Z,
  firstName: null,
  lastName: null,
  email: 'admin@admin.com',
  password: '$2b$10$5vcYImjdp3JqBODmeS.3nOsNqy2CBCsjvocV3Z//5Jv0wDp6LImB.',
  gender: 1,
  country: null,
  address: null
},
following: User {
  id: 26,
  createAt: 2021-04-02T10:52:44.638Z,
  updatedAt: 2021-04-02T10:52:44.638Z,
  firstName: null,
  lastName: null,
  email: 'go@go.com',
  password: '$2b$10$.ul2rxR9JV2hA1zFn3HYNekolwkiFZDfLznNwz3LFf6XJE9zEw8Va',
  gender: null,
  country: null,
  address: null
}
]

这些是我的关注数据,但实际上这不是我想要的,
我只想提取位于末尾的关注数据
我尝试了很多其他方法,但我无法做到
有没有其他方法可以解决它?
我正在使用 typeorm 和 postgresql 并使用 nestjs 框架
谢谢

标签: postgresqlnestjstypeorm

解决方案


要仅获取以下数据,您必须从关系数组中删除关注者实体:

async getFollowingFriend(authUser: User): Promise<FollowingFriendsOutput> {
    try {
        const followers = await this.follow.find({
            where: { follower: authUser },
            relations: ['following'],
        });
        console.log(followers);
        return {
            ok: true,
        };
    } catch (error) {
        console.log(error);
        return {
            ok: error,
            error: "You can't get following friend",
        };
    }
}

推荐阅读