graphql mongoose 返回 null

Posted

技术标签:

【中文标题】graphql mongoose 返回 null【英文标题】:graphql mongoose returning null 【发布时间】:2019-03-08 05:22:17 【问题描述】:

我正在使用带有 express 和 mongoose 的 graphql。由于某些原因,我得到了 null 嵌入文档的价值。尝试了异步/等待和承诺。

Schema.JS

const typeDefs = `
type Patient
    name:String


type Order 
    _id: ID!
    orderName: String!
    orderDate: Int,
    patient:Patient


type Query 
    allOrders: [Order]


`;
module.exports.schema = makeExecutableSchema(
    typeDefs,
    resolvers
);

解析器.JS

module.exports.resolvers = 
    Query: 
        async allOrders() 
            return await db.cpoeDataModel.CpoeOrder.find();
        
    ,
    Order: 
        patient: async (order) => 
            console.log("patient Id##", order.patientId);
            return await db.domainModel.Patient.findById(order.patientId);
        

    
; 

查询:


  allOrders 
    orderName,
    patient 
      name
    
  

结果:

 
    "allOrders": [
      
        "orderName": "order1",
        "patient": null
      ,
      
        "orderName": "order2",
        "patient": null
      ]

预期结果


                "allOrders": [
                  
                    "orderName": "order1",
                    "patient": 
                     "name":"xyz"
                   
                  ,
                  
                    "orderName": "order2",
                    "patient": 
                     "name":"xyz"
                   
                  ]
            

【问题讨论】:

【参考方案1】:

问题在于我的订单集合而不是代码。有一些不再存在的患者 ID 参考。这就是为什么获得可接受的空值的原因。我很困惑,因为它在结果的顶部。

【讨论】:

以上是关于graphql mongoose 返回 null的主要内容,如果未能解决你的问题,请参考以下文章

返回突变结果的正确方法? (GraphQL 与 Apollo 和 Mongoose

使用 Mongoose 和 GraphQL 从填充模型有条件地返回值的最有效方法?

嵌套的 Mongoose 查询数据未显示在 GraphQL 查询中

使用 Apollo-GraphQL、MongoDB-Mongoose 和 Node-Express 构建的 React 应用程序在生产构建中返回 404 错误

使用 Mongoose 和 graphql-yoga 实现分页

从 Rest(Express) 迁移到 GraphQL:模型(mongoose) 在 graphQL 解析器中不起作用