node.js - TypeORM en-till-en join i mongodb
Jag är ny på TypeORM, så jag ber om ursäkt i förväg om den här frågan låter dum.
Jag har 2 tabeller, User och Category. User har en kolumn categoryId som är en främmande nyckel till Category-tabellen.
Kategoritabell:
@Entity()
export class Category {
@ObjectIdColumn()
public _id: ObjectID;
@PrimaryColumn()
public id: string;
public toString(): string {
return `${this.id}`;
}
}
Användartabell
@Entity()
export class User {
@ObjectIdColumn()
public _id: ObjectID;
@PrimaryColumn()
public id: string;
@Column()
public categoryId: string;
@OneToOne(type => Category)
@JoinColumn()
category: Category;
public toString(): string {
return `${this.id} ${this.categoryId}`;
}
}
Jag vill hämta kategoridetaljer när jag frågar efter användaren. Frågan jag använder är:
userRepository.findOne({ where, relations: ['category']});
Nu är problemet att när jag använder @JoinColumn() så ger det mig ett fel.
MongoError: bad index key pattern {}: Index keys cannot be empty.
När jag använder @JoinTable() får jag inte det förväntade resultatet.
Vad är dessa @JoinColumn() och @JoinTable(). När ska jag använda dessa ?