node.js - TypeORM join uno-a-uno in mongodb
Sono nuovo a TypeORM, quindi mi scuso in anticipo se questa domanda sembra sciocca.
Ho 2 tabelle: User e Category. User ha una colonna categoryId che è una chiave esterna alla tabella Category.
Tabella delle categorie:
@Entity()
export class Category {
@ObjectIdColumn()
public _id: ObjectID;
@PrimaryColumn()
public id: string;
public toString(): string {
return `${this.id}`;
}
}
Tabella utenti
@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}`;
}
}
Voglio recuperare i dettagli della categoria mentre interrogo l'utente. La query che sto usando è:
userRepository.findOne({ where, relations: ['category']});
Ora il problema è che quando uso @JoinColumn(), mi dà un errore.
MongoError: bad index key pattern {}: Index keys cannot be empty.
Quando uso @JoinTable(), non ottengo il risultato previsto.
Cosa sono questi @JoinColumn() e @JoinTable(). Quando dovrei usarli ?