graphql猫鼬返回空

graphql mongoose returning null

我正在将 graphql 与 express 和 mongoose 结合使用。由于某些原因,我得到了嵌入式文档的 null 值。 async/await 和 promise 都试过了。

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"
                   }
                  }]
            }

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