Получить всю базу родительских документов на основе идентификатора дочерней ссылки Mon go и Nodejs - PullRequest
0 голосов
/ 02 августа 2020

Спасибо за вашу помощь.

Я весь день чешу в затылке, не знаю, иду ли я в правильном направлении или нет.

Проблема:

У меня есть документ [Doctor], который содержит ссылку [doctorSpecialities].

Я должен ПОЛУЧИТЬ ВСЕХ ВРАЧЕЙ, у которых есть этот идентификатор, массив ссылок на DoctorSpecialities

Id : 5ef58dd048cdd203a0c07ba8

JSON Структура

{
 "doctorSpecialities": [
    "5f00cebc8bcdcd0660c12ce2",
    "5ef58dd048cdd203a0c07ba8"
 ]
"_id": "5ef31ae80399ac05eb23e555",
"email": "signup@gmail.com",
"username": "signup@gmail.com",
"DOB": null,
"zip": null,
"phone": "12657334566",
"PMDC": "7658493",
"isVerified": false,
"aboutMe": "About Me",
"achievements": "Achievements",
"address": "padasdad",
"city": "Lahore",
"gender": "Male",
"managePractice": "Manage Practice",
"practiceGrowth": "Practice Growth",
"qualiflication": "Qualifcation",
"state": "eeeeeeee",
"workExperince": "Work Experince",
"doctorAvailability": [],
"doctorReviews": [],
"degreeCompletionYear": "2019-10-10",
"institute": "institute",
"practiceDate": "2020-10-10",
"services": "Dental"
},

Выполнен запрос

 await Doctor.find({ doctorSpecialities : req.params.id})

 await Doctor.find({ doctorSpecialities :{$in [ req.params.id}})

Специальная коллекция

  doctorCollection = Doctor.find();
  doctorCollection.find({"doctorSpecialities": specialty.id})
  
Вот как я сделал это неправильно?

Я пытался использовать $ Lookup, но не знаю, как его использовать в этом требовании

Пожалуйста дайте мне знать, если вам понадобится дополнительная информация.

Спасибо

1 Ответ

1 голос
/ 02 августа 2020

Если вам нужно получить doctors детали, вы можете использовать

db.collection.find({"doctorSpecialities":"5ef58dd048cdd203a0c07ba8"})

play

Он возвращает все документы, в которых поле doctorSpecialities содержит 5ef58dd048cdd203a0c07ba8

...