Mongodb find by array of ids in order

I am making a dating app where an algorithm returns an array of matching user’s uuid by sorting it.
So I want to find all the users by that array of uuid in order.

I tried doing this

//init algorithm
const algo = new Match(currentUser, users);
//calculate score
algo.calcScore();
//sort it
algo.sort();
//get array of uids of matching users
const matches = algo.matching_users;

//find users by that array of uid
const matching_users = await User
  .find({
    uid: {
      $in: matches
    }
  })
  .skip(total_items - items)
  .limit(items)
  .lean()
  .exec()

This returns the users but not in order.
For example let array of uids be: ["c", "d", "a", "b"]
the above query returns user objects in: [{...uid: "a"},{...uid: "b"},{...uid: "c"},{...uid: "d"}, ]

Expected output: [{...uid: "c"},{...uid: "d"},{...uid: "a"},{...uid: "b"}, ]