首页 > 解决方案 > 为什么 find 总是返回两行?

问题描述

我在数据库中有两行

[
  Anime {
    id: 1,
    title: 'Kimi ',
    synopsis: 'Perangn berakhir?',
    metaDescription: 'Kuma Ku online',
    coverLink: 'https://res.cloudinary.com/antaraksi/image/upload/v1607682688/1VtaTXsHTRfh8m49OVJfMb4JVuh_e0hy3g.jpg',
    slug: 'kimi-to-boku-no-saigo-no-senjou-aruiwa-sekai-ga-hajimaru-seisen',
    view: 8,
    episodes: []
  },
  Anime {
    id: 2,
    title: 'Hajimaru Seisen1',
    synopsis: 'berakhir?1',
    metaDescription: 'Kuma Kuma Kuma Ba Kuma Bear free, Kuma Kuma Kuma Bear online1',
    coverLink: 'https://res.cloudinary.com/antaraksi/image/upload/v1607682688/1VtaTXsHTRfh8m49OVJfMb4JVuh_e0hy3g.jpg',
    slug: 'kimi-to-boku-no-saigo-no-senjou-aruiwa-sekai-ga-hajimaru-seisen-1',
    view: 2,
    episodes: []
  }
]

我想通过蛞蝓找到一个。

  async findOne(slug: string) {
    const findOptions = {
      slug,
      relations: ['episodes']
    }
    const anime = await this.animesRepository.find(findOptions);
    console.log(anime);
    return anime;
  } 

但它总是返回两行。slug 列text在数据库中。我怎样才能通过蛞蝓找到一个?

标签: mysqlnestjstypeorm

解决方案


首先,您必须使用 findone 来获取一行,您可以执行以下操作:

const user = await this.animesRepository.findOne({
 relations: ['episodes'],
 where: slug
});

推荐阅读