Mongoose populate virtuals with dynamic parameter

I'm working in a platform that has a follower/following schema.

I want to get the follower/following status of other users from the perspective of the user making the request. That means that, whenever one of the requests is made by a user, and has in the response other users, I want the response to include if those users are being followed or follow the user that make such request.

For example, user X is fetching a list of publications. In the publications you can see users that liked that publication. I need to show if user X follows or is being followed by any of those users.

My current mongoose schema is as follows:

const UserSchema = new Schema({
    _id: {
        type: String,
        default: () => `usr_${generate()}`,
    },
    username: {
        type: String,
        unique: true,
    },
})

And for the follows:

const FollowSchema = new Schema({
    _id: {
        type: String,
        default: () => `flw_${generate()}`
    },
    fromUser: {
        type: String,
        ref: "User",
        required: true
    },
    targetUser: {
        type: String,
        ref: "User",
        required: true
    }
})

My initial approach was to add a virtual param in mongoose User model like the docs state:

UserSchema.virtual('following' {
  ref: 'Follow',
  localField: '_id',
  foreignField: 'fromUser',
  justOne: true
});


UserSchema.virtual('follower' {
  ref: 'Follow',
  localField: '_id',
  foreignField: 'targetUser',
  justOne: true
});

But I need to also match that ref with a dynamic fromUser or targetUser that matches the userId of the user that makes the request.

Any ideas how can I make this work? I don't mind changing the schema.