graphql猫鼬返回null

时间:2018-10-03 03:20:03

标签: express mongoose graphql apollo-server express-graphql

我正在将graphql与express和mongoose一起使用。由于某些原因,我在嵌入式文档中获得了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
});

resolver.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 个答案:

答案 0 :(得分:0)

问题出在我的订单托收而不是代码上。有一些患者ID不再存在的参考。这就是为什么获取可接受的空值的原因。只是让我感到困惑,因为它位于结果的顶部。