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 参考。这就是为什么要获得可接受的空值的原因。我很困惑,因为它在结果的顶部。
我正在将 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 参考。这就是为什么要获得可接受的空值的原因。我很困惑,因为它在结果的顶部。