Home > Software design >  use populate data to filter in search mongoose
use populate data to filter in search mongoose

Time:04-17

Hello good evening can someone help me with this question please. I want to bring all the users by the name of the area when it exists. But the name of the area is in a populate.

I have the image but it doesn't work for me

enter image description here

CodePudding user response:

You can't query by populate.

But you can implement that instead:

  1. First find Area by nombre_area
  2. And then find Users with areaI equal to that area id

It's simple and should be performant, as I believe you don't have thousands of areas.

CodePudding user response:

you have two solutions

1- separate the query and write a method & named it aeraExist(name) and filter it by name

2- in the populate add match & if that filter doesn't match it will return null

    .populate({
      path: "areaI",
      match: {name: "Us"},
    })
  • Related