graphql mongoose, возвращающий ноль - PullRequest
0 голосов
/ 03 октября 2018

Я использую 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
});

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 голосов
/ 03 октября 2018

проблема была с моей коллекцией заказов, а не с кодом.была некоторая ссылка на идентификаторы пациентов, которых больше не существует.вот почему получение нулевых значений, которые являются приемлемыми.Я был сбит с толку, просто потому что это на вершине результатов.

...