使用 typegoose 将项目添加到 Ref 数组

2024-03-22

我延长了 2 个课程Typegoose (Item and Player)

In the Player我的班级有一个数组Ref<Item>[]

    @arrayProp({itemsRef: Item})
    items?: Ref<Item>[];

In my PlayersService,我用这个方法来推动Item:

    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, their items没有被填充,只是一个Array of ObjectId.

    async findAll(): Promise<Player[]> | null {
        return await this.playerModel.find().exec();
} 

PS:我将 Typegoose 与 Nestjs 和 netsjs-typegoose 一起使用


好的,这就是如何从 typegoose 类填充 Ref 项(使用:populate 方法):

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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 typegoose 将项目添加到 Ref 数组 的相关文章

随机推荐

  • 在摩卡测试之间重新导入模块

    在我的节点 打字稿快递应用程序中 我将配置设置存储在settings json作为对象加载和导出的文件config ts 每个使用配置设置的模块都会像这样导入模块 import Config from config config ts看起来
  • 如何使用 C# 验证文件是否是受密码保护的 ZIP 文件

    给定文件路径 如何验证该文件是否是受密码保护的 zip 文件 即 我将如何实现这个功能 bool IsPasswordProtectedZipFile string pathToFile 我不需要解压缩该文件 我只需要验证它是否是 ZIP
  • 可拖动的CALayer

    有什么方法可以让用户拖动 CALayer 吗 如果是这样 怎么办 在可可 Mac 中 图层本身无法接收鼠标事件 您必须在包含该层的视图或视图控制器中进行事件处理 If a mouseDragged 事件起源于某个层 请参见 CALayer
  • 在C++中使用const成员变量有什么优点

    我写代码像 template
  • python-re:如何匹配字母字符

    如何将字母字符与正则表达式匹配 我想要一个角色 w但不在 d 我希望它与 unicode 兼容 这就是为什么我不能使用 a zA Z 你的前两句话互相矛盾 在 w但不在 d 包括下划线 我从你的第三句话假设你不需要下划线 在信封背面使用维恩
  • iOS:用于登录屏幕的表格样式文本字段?

    我想制作一个像 Facebook 应用程序那样的登录屏幕 我想要复制的部分是两个文本字段 它们堆叠起来看起来像一个表格组 但我不明白他们是怎么做到的 谁知道其中的窍门 我无法发布图片 因为我是 stackoverflow 的新手 这是一种效
  • PHP 图片大小小于 1mb

    目前我正在使用以下内容来计算文件大小是否小于 1MB 但是由于以下代码来自 9lession 示例站点 它说要检查 1mb 的大小 但如果我乘以 1024 2 这就是他们在这里所做的不等于 1mb 而是 2048kb 说它上传的大小不是以
  • 如何在 macOS 上的 SwiftUI 中检测键盘事件?

    如何在 macOS 上的 SwiftUI 视图中检测键盘事件 我希望能够使用击键来控制特定屏幕上的项目 但不清楚如何检测键盘事件 这通常是通过覆盖keyDown event NSEvent in NSView 与 Xcode 12 捆绑在一
  • 将正则表达式匹配到第一个空格

    我必须填充商店的图像 并提供以下格式的图像文件夹 例如BRL0368 Side jpg 5510 Dura Guard Carpet jpg 现在我想做的就是把所有这些都砍掉 这样我就可以尝试在 Excel 中匹配零件编号 例如 BRL03
  • Func 的性能和继承

    我一直无法理解使用的性能特征Func lt gt 在我的代码中 当使用继承和泛型时 我发现自己一直在使用继承和泛型的组合 让我从一个最小的测试用例开始 这样我们都知道我们在说什么 然后我将发布结果 然后我将解释我的期望和原因 最小测试用例
  • AWS python lambda函数:没有名为请求的模块

    我对 AWS 还很陌生 遇到了一些问题 这是我的代码 from future import print function from urllib2 import Request urlopen URLError import request
  • 多索引 pandas 更新

    有两个数据帧 df1 和 df2 import pandas as pd import numpy as np import datetime A list range 3 9 B datetime date 2019 1 1 dateti
  • 单元测试复杂交互的正确方法

    我必须开始使用 QualityTools UnitTestFramework 为我们开发的 Web 服务层编写一些单元测试 而我的方法从一开始似乎就不正确 单元测试似乎应该能够以任何顺序运行 而不依赖于其他测试 我最初的想法是拥有类似于以下
  • 错误:由于表单未连接,表单提交被取消

    关于潜在重复的免责声明 我也遇到过类似的问题 我想我现在已经阅读了几乎所有这些答案 但没有一个为我解决了问题 我有一个应用程序 前端是 React 后端是 Flask 服务器 我有一个重大问题 该代码似乎检查了前端和后端 但是当我单击表单的
  • R - 如何分割文本和标点符号但有例外?

    在 R 中分析 Facebook 评论进行情感分析 表情符号是在 符号之间的文本编码 例子 Jesus te ama
  • 使用 jQuery 的 GridView 向上和向下导航

    我正在尝试使用 jQuery 实现 GridView 向上和向下键盘导航功能 我已经为此编写了代码 但有一个错误 它只能工作一次 重现错误的步骤 将我的示例代码复制到您的 WebForm aspx 和 WebForm aspx cs 后 分
  • 在 C# 中向 DateTime 添加时间

    我有一个日历和一个包含一天中某个时间的文本框 我想创建一个由两者组合而成的日期时间 我知道我可以通过查看小时和分钟然后将它们添加到日历 DateTime 中来做到这一点 但这看起来相当混乱 有没有更好的办法 您可以使用日期时间 添加 htt
  • jquery中如何定义变量

    我想知道如何在 jQuery 中声明变量 我当前使用的代码是 name anirudha alert name 该代码工作正常 但如果我将其写为 name document myForm txtname value alert name 那
  • HttpListener 的使用

    我有以下 HTTP 侦听器方法 深受 MSDN 使用 HttpListener 类的示例的启发 我对编程相当陌生 我不知道从这里到哪里从我的 Main 初始化它 有什么建议么 public static void HttpListener
  • 使用 typegoose 将项目添加到 Ref 数组

    我延长了 2 个课程Typegoose Item and Player In the Player我的班级有一个数组Ref