使用 Graphql 时填充猫鼬模式中的“Ref”

2023-12-29

我正在使用 Graphql,然后遇到需要填充的情况,但我不知道如何执行它。

这是我的预订架构

const mongoose=require('mongoose')
const Schema=mongoose.Schema
const bookingschema=new Schema({
event:{
    type:Schema.Types.ObjectId,
    ref:'Event'
},
user:{
    type:Schema.Types.ObjectId,
    ref:'User'
}
}
,{timestamps:true})
module.exports=mongoose.model('Booking',bookingschema)

这是我创建预订事件的解析器

 bookevent: async args => {
    const fetchevent = await Event.findOne({ _id: args.eventid });
    const booking = new Booking({
      user: "5d64354bfd7bb826a9331948",
      event: fetchevent
    });
    const result = await booking.save();
    return {
      ...result._doc,
      _id: result._id,
      createdAt: new Date(result._doc.createdAt).toISOString(),
      updatedAt: new Date(result._doc.updatedAt).toISOString()
    };
  }
};

当我尝试运行 graphql 查询时,我很容易得到我需要的东西

mutation{
  bookevent(eventid:"5d6465b4ef2a79384654a5f9"){
    _id
  }
}

gives me

{
  "data": {
    "bookevent": {
      "_id": "5d64672440b5f9387e8f7b8f"
    }
  }

但现在我如何在这里填充用户???

因为最后我希望这个查询能够成功执行

mutation{
  bookevent(eventid:"5d6465b4ef2a79384654a5f9"){
    _id
    user{
      email
    }
  }

eventtype 的架构是

  type Event{
        _id:ID!
        title:String!
        description:String!
        price:Float!
        date:String!
        creator:User!
    }

因为我的用户模式里面有电子邮件,我正在尝试联系它

那么我应该在我的预订解析程序中的哪里填充“用户”?

为了解决我所做的用户

 const result = await booking.save();
    const res=await result.populate("user");
    console.log(res) //doesnt gives the populated user only gives me id

如果我对这些情况没有错的话populate方法对吗?


我希望它可以帮助你。

const result = await booking.save();
const res=await booking.findById(result._id).populate("user");
console.log(res)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Graphql 时填充猫鼬模式中的“Ref” 的相关文章

  • Visual Studio IDE 中功能后的空间

    如何设置 Visual Studio 中的设计以在我的 javascript 函数后面放置一个空格 目前 当我按下返回键时 我得到了这个 var myfunc function 当我想要这个的时候 var myfunc function 知
  • Chrome 内存/垃圾收集问题

    我在使用 Chrome 时遇到内存 垃圾收集问题 我正在开发一个照片上传网站 该网站允许我的客户使用 HTML5 和文件 API 拖放照片进行上传 因此这在 IE 中不起作用 它仅适用于 Chrome 和 FF 我还没有在 Safari O
  • 语法:const {} = 变量名,任何人都可以解释或指出我正确的方向[重复]

    这个问题在这里已经有答案了 这个语法在 JavaScript 中意味着什么 可能是 ES6 const 变量名 我目前正在尝试掌握 React 在很多例子中我都遇到过这种语法 例如 const girls guys women men st
  • SVG 中三角形的圆角

    我正在尝试制作一个具有圆角的三角形 三角形将如下所示 左下角是唯一看起来相当容易制作的角 主要是因为这是一个 90 度的 转弯 该转弯是使用QSVG 中的命令具有以下参数 Q x y height x y height RADIUS从我正在
  • 如何删除从 javascript var 转义的反斜杠?

    我有这个变量 var x div class Which is div class 但是我需要 div class abcdef 我怎样才能 unes cape 这个变量来删除所有转义字符 您可以通过正则表达式将反斜杠后跟引号替换为仅引号
  • Javascript:通过将路径作为字符串传递给对象来获取对象的深层值[重复]

    这个问题在这里已经有答案了 可能的重复 使用字符串键访问嵌套的 JavaScript 对象 https stackoverflow com questions 6491463 accessing nested javascript obje
  • Famo.us 滚动视图高度

    我正在尝试使用著名的顺序布局在滚动视图下方添加图像 但滚动视图的高度有问题 这就是我创建滚动视图的方式 var scrollview new Scrollview direction Utility Direction X options
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • type-graphql:如何知道Resolver返回了哪些字段

    我正在编写一个使用 type graphql 的后端应用程序 GraphQL 架构包括Folder键入如下所示 type Folder id ID name String rules Rule parent Group Rule and G
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • 如何在服务器端按钮点击时关闭当前标签页?

    我尝试在确认后关闭当前选项卡 因此我将以下代码放在确认按钮的末尾 但选项卡没有关闭 string jScript ClientScript RegisterClientScriptBlock this GetType keyClientBl
  • 全局未在 ../node_modules/socket.io-parser/is-buffer.js 中定义

    预先感谢您帮助我 我正在尝试在我的一个角度组件中连接套接字 但在浏览器的控制台中它会抛出一个错误 指出 Global 未在 Object node modules socket io parser is buffer js 中定义 这是我的
  • 使用 javascript 调整图像大小以在画布 createPattern 中使用

    我见过一些关于如何调整图像大小的技巧 在 IMG 标签内使用 但我想在里面有一个图像变量 一个 Javascript 调整它的大小 然后使用 a 中的图像 context createPattern 图像 重复 我还没有找到任何提示 关于如
  • 我可以在不使用 Jquery UI 的情况下获得 Jquery Pulsate Effect 吗?

    我遇到了由于某种原因无法使用 Jquery UI 的情况 我正在尝试在不使用 Jquery UI 的情况下获得 Jquery UI 脉冲效果 与此链接类似 http docs jquery com UI Effects Pulsate ht
  • 如何上传文件 - sails.js

    我可以下载图像和 pdf 但无法下载文档文件 doc pptx odt 下载文档 doc pptx odt 时 仅将其下载为 ZIP XML 文件 我可以做什么 我在用着 填写上传文件文档 https github com balderda
  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 不可见的 reCAPTCHA - 缺少必需的参数:sitekey

    我正在为每个带有具有类的按钮的表单动态加载不可见的 reCAPTCHAg recaptcha 我遇到的问题是验证码未正确加载 我不知道为什么 我按照验证码网站上的文档进行操作 但我不确定如何以及为什么会出现此错误 Uncaught Erro
  • 使用 Socket.IO 时如何访问会话标识符?

    我有一个聊天 我需要管理独特的连接 我四处搜寻 但我找到的解决方案似乎都已被弃用 那么 如何使用 Socket IO 获取套接字的会话 ID 我在用着Node js http en wikipedia org wiki Node js Ex
  • 从未使用 mimeType 初始化的 MediaRecorder 获取 mimeType

    我正在使用 MediaRecorder API 在页面上录制一些媒体 在我的 MediaRecorder 初始化中 我没有指定内容类型 因为我不需要任何特别的内容 浏览器可以选择它想要的 var mediaRecorder new Medi
  • 如何仅突出显示嵌套表的最里面的表行?

    我有几个嵌套表 我想突出显示鼠标指针下方的最里面的行 我怎样才能做到这一点 一些提示 我使用嵌套表来显示递归表格数据 表可以嵌套 10 层 嵌套正如您所期望的那样 table tr td table tr td table tr td 可能

随机推荐

  • 将 NServiceBus 与 Asp.Net MVC 2 结合使用

    有没有办法将 NServiceBus 与 Asp Net MVC 2 一起使用 我想将请求消息从 Asp Net MVC2 应用程序发送到服务 该服务处理该消息并回复响应消息 有没有办法清楚地做到这一点 NServiceBus 仅支持注册状
  • Jquery 冲突导致错误

    从事具有多种功能的项目 例如 谷歌翻译 图像滑块 使用画廊 弹出窗口 使用阴影框 JavaScript 水平菜单栏 Now we are getting jquery conflict in it and error message suc
  • 从 Docker 容器获取 Mac 地址

    是否可以从Docker容器中获取主机的MAC地址并将其写入文本文件中 docker inspect
  • GCS - Python 下载具有目录结构的 blob

    我使用 GCS python SDK 和 google API 客户端的组合来循环启用版本的存储桶并根据元数据下载特定对象 from google cloud import storage from googleapiclient impo
  • 计算负载并避免光标

    给出下面的表结构 它表示乘客通过门磁上下车的公交路线 而且 有一个人坐在那辆公共汽车上 手里拿着一个记着点数的剪贴板 CREATE TABLE BusLoad ROUTE CHAR 4 NOT NULL StopNumber INT NOT
  • 从 Powershell 调用 AppDomain.DoCallback

    这是基于 Stack Overflow 问题 如何在新的 AppDomain 中将程序集加载为仅反射 https stackoverflow com questions 35249342 how to load an assembly as
  • 选择 Plsql 中的第二行

    假设我有下表 SomeTable id price 如何从此表中选择价格第二高的行 注意 这必须在 Pl SQL 中以与数据库无关的方式完成 是否可以在没有任何循环的情况下做到这一点 我知道这是如何使用 Oracle 结构来完成的 例如ro
  • “不要在设计中使用抽象基类;但在建模/分析中”

    虽然我在 OOAD 方面有一些经验 但我是 SOA 的新手 SOA 设计的指导原则之一是 仅使用抽象类进行建模 从设计中省略它们 抽象的使用有助于建模 分析阶段 在分析阶段 我提出了一个 BankAccount 基类 从它派生的专门类是 F
  • 将 Java 7 与官方 Google Appengine Maven 插件结合使用

    我在使用时遇到问题官方 Maven 插件 https developers google com appengine docs java tools maven以及带有 Google Appengine 的 Java 7 配置 我的项目配置
  • 优先级队列数据结构

    假设我有一个优先级队列 它按升序删除元素 并且存储在该队列中的是元素1 1 3 0 1 递增的顺序是0 then 1 then 3 但是有三个元素1s 当我打电话时remove它会首先删除0 但如果我打电话remove它会再次删除所有三个吗
  • 提高功能性能

    我正在编写一个小程序来检查以下问题的解决方案布罗卡的问题 http en wikipedia org wiki Brocard s problem或所谓的棕色数字我首先用 ruby 创建了一个草稿 class Integer def fac
  • 在 Xcode 中创建和编辑 plist 文件的步骤

    我想添加密钥对值plist 我不知道如何在 XCode 中添加 plist 文件 只是我想将这些详细信息添加到名为 的 plist 文件中 Mobile plist Apple iPhone iPod iPad Samsung Galaxy
  • Java 中可以使用 C# 风格的对象初始化吗?

    在 C 中可以这样写 MyClass obj new MyClass field1 hello field2 world field3 new MyOtherClass etc 我可以看到数组初始化可以用类似的方式完成 但是在 Java 中
  • Tensorflow、Keras:在多类分类中,准确率很高,但大多数类别的精度、召回率和 f1 分数为零

    一般说明 我的代码工作正常 但结果是有线的 我不知道问题出在 网络结构 或者我向网络提供数据的方式 或其他任何东西 我为这个错误苦苦挣扎了几个星期 到目前为止我已经改变了损失函数 优化器 数据生成器等 但我无法解决它 我很感激任何帮助 如果
  • java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)”

    运行我的项目时出现错误 java lang RuntimeException Unable to start activity ComponentInfo com example olympic com prima olympic Prod
  • 为什么赋值的值总是参数的值? [复制]

    这个问题在这里已经有答案了 有人愿意解释一下为什么在旧版本的Ruby中 赋值的结果是属性设置方法返回的值 但是在Ruby 1 8之后 赋值的值总是参数的值 该方法的返回值被丢弃 在下面的代码中 旧版本的 Ruby 会将结果设置为 99 现在
  • 在进行另一次检查之前如何检查变量不为空?

    我有这个代码 if App selectedPhrases null App selectedPhrases Count 0 有没有办法可以使用 来简化它 运算符检查 null 而不是使用 连接进行两个不同的检查 您可以使用 null 条件
  • 使用 Hibernate 将两个或多个应用程序连接到同一个数据库

    我计划构建一个桌面应用程序 它将使用 Hibernate 和 MySQL 作为其数据源 我想在多台机器上执行桌面应用程序 但我希望它们都读 写同一个 MySQL 数据库 这可能吗 我担心的是当两个应用程序尝试访问 修改相同信息时的并发问题
  • 如果我没有足够的内存,spark 会做什么?

    我是 Spark 新手 我发现文档说 Spark 会将数据加载到内存中以使迭代算法更快 但是如果我有 10GB 的日志文件而只有 2GB 内存怎么办 Spark 会像往常一样将日志文件加载到内存中吗 我认为这个问题在 Spark 网站的 F
  • 使用 Graphql 时填充猫鼬模式中的“Ref”

    我正在使用 Graphql 然后遇到需要填充的情况 但我不知道如何执行它 这是我的预订架构 const mongoose require mongoose const Schema mongoose Schema const booking