.map возвращает массив пустых объектов после получения данных с помощью Mongoose - PullRequest
0 голосов
/ 23 марта 2020

У меня проблема, когда я хочу, чтобы массив коллекций возвращался мне с помощью Mon goose. Проблема в том, что метод .map в коде возвращает массив пустых объектов, но если я регистрирую объекты по отдельности в .map, то все в порядке. Почему это происходит?

const patients = doctor.patients.map(async patient => {
  try {
    const patientObj = await Patient.findOne({ username: patient });
    patient = patientObj;
    patient.jwt = undefined;
    patient.__v = undefined;
    console.log(patient);  // This works just fine, logs the object the right way

    return patient;
  } catch (err) {
    console.log(err);
  }
});
console.log(patients); // This logs [{}, {}, {}]

1 Ответ

1 голос
/ 23 марта 2020

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

Patient.find({
    username: { $in: doctor.patients }
}, (err: any, patients) => {
    console.log("patients  " + patients)
})

В вашей модели пациента добавьте (выберите: false), чтобы вам не приходилось устанавливать для каждого поля неопределенное значение https://mongoosejs.com/docs/api.html#schematype_SchemaType -выбрать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...