首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用typegoose将项添加到引用数组中

使用typegoose将项添加到引用数组中
EN

Stack Overflow用户
提问于 2018-08-13 22:47:07
回答 1查看 2.2K关注 0票数 4

我有两个扩展Typegoose的类(ItemPlayer)

Player类中,我得到了一个Ref<Item>[]数组

代码语言:javascript
复制
    @arrayProp({itemsRef: Item})
    items?: Ref<Item>[];

在我的PlayersService中,我使用这个方法来推送一个Item

代码语言:javascript
复制
    async pushItem( itemPlayerDto: {playerId: string, item: Item}) : Promise<Player> {
        let player = await this.findById(itemPlayerDto.playerId);
        player.items.push(itemPlayerDto.item);
        return await new this.playerModel(player).save();
}

但是当我检索Players时,它们的items不是公知的,而是一个Array of ObjectId

代码语言:javascript
复制
    async findAll(): Promise<Player[]> | null {
        return await this.playerModel.find().exec();
} 

PS:我正在使用带有nestjs和netsjs-typegoose的Typegoose

EN

回答 1

Stack Overflow用户

发布于 2018-08-14 17:08:24

好的,这就是你如何从typegoose类中填充一个Ref item (使用: populate方法):

代码语言:javascript
复制
async findByName(playerName: string): Promise<Player> | null {
    let player = await this.playerModel.findOne({'displayName': playerName}).exec();
    let playerWithItems = await player.populate({
        path: 'items',
        model: 'Item'
    }).execPopulate();
    return playerWithItems;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51825036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档