Estoy tratando de filtrar un registro anidado basado en mi clave de búsqueda. Por ejemplo: paciente -> proveedor desea buscar un paciente y un proveedor juntos según la clave de búsqueda.
Pero cuando estoy activando la clave de búsqueda con los detalles del paciente, funciona, pero cuando pongo cualquier palabra clave relacionada con el proveedor (quiero buscar un proveedor), pero esta vez el filtro no funciona. aquí está mi código:
patients = await Patient.find({ $or: [ { firstName: { $regex: searchKey, $options: "i" } }, { lastName: { $regex: searchKey, $options: "i" } }, { socialSecurityNumber: { $regex: searchKey, $options: "i" } }, ], provider: currentUser, }).populate({ path: "provider", select: "firstName lastName", match : { $or: [ {lastName: { $regex: searchKey,$options: "i" }}, {firstName: { $regex: searchKey,$options: "i" }}, ] } }) .populate({ path: "gender", select: "name -_id" }) .skip(pageSize * pageNumber - pageSize) .limit(pageSize).lean();