0

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

架构.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"
                   }
                  }]
            }
4

1 回答 1

0

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

于 2018-10-03T04:30:06.900 回答