TypeORM 关系查询,只查部分字段该怎么写?
发布于 7 年前 作者 shen100 9141 次预览 最后一次回复是 7 年前 来自 问答
hello, 请问下,我有三个表,collections, users, user_collection, users和 collections是多对多的关系, 根据id查collection,同时查出这个collection的users, 如下
@Entity({name: 'users'})
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column('varchar', { length: 100 })
username: string;
@ManyToMany(type => Collection, collection => collection.users)
@JoinTable({
name: 'user_collection',
joinColumn: {
name: 'user_id',
referencedColumnName: 'id',
},
inverseJoinColumn: {
name: 'collection_id',
referencedColumnName: 'id',
},
})
collections: Collection[];
...
@Entity({name: 'collections'})
export class Collection {
@PrimaryGeneratedColumn()
id: number;
@ManyToMany(type => User, user => user.collections)
users: User[];
...
查询代码如下,这样查询,会得到user的所有字段,如果只想查询user的部分字段,如id, username的话,应该怎么写呢?
await this.collectionRepository.findOne({
select: ['id', 'name', 'coverURL', 'announcement', 'allowPost', 'postMustAudit', 'creator'],
where: { id },
relations: [ 'users' ],
});
2 回复
@huanz 感谢