【问题标题】:why does find always return two rows?为什么 find 总是返回两行?
【发布时间】:2021-03-22 19:56:48
【问题描述】:

我在数据库中有两行

[
  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。我怎样才能通过蛞蝓找到一个?

【问题讨论】:

  • 您可以使用限制运算符仅获取 1 条记录。像这样的东西:- db.collection.find(condition).limit(1)

标签: mysql nestjs typeorm


【解决方案1】:

首先你必须使用 findone 来获取一行,你可以这样做:

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

【讨论】:

  • 是的。它在更改 slug 对象后工作
猜你喜欢
  • 1970-01-01
  • 2021-01-24
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-12
  • 2016-09-16
相关资源
最近更新 更多