Need help regarding my attempt at personalization

Hello, I’m trying to add a personalized experience on my platform. Here is what I did so far:
-all users have a relation to subject and that relation has a score. here’s the schema:
interestScoreSchema = new Schema(
{
user: { type: Schema.Types.ObjectId, ref: “User”, required: true },
interest: { type: Schema.Types.ObjectId,required:true },
score: {type: Number,required:true},
},
{
timestamps: true,
}
);
-all posts have an array of subjects. here’s the schema:
postSchema = new Schema(
{
user: { type: Schema.Types.ObjectId, ref: “User”},
content: { type: Schema.Types.Mixed, required: true },
type: { type: String, required: true },
description: { type: String, required: true },
reviews: {
type: [{ type: Schema.Types.ObjectId, ref: “Review” }],
default: [],
},
tags: {
type: [{ type: Schema.Types.ObjectId, ref: “Tag” }],
default: [],
},
},
{
timestamps: true,
}
);

What I want to get to:
-load all posts by score for the user
-if a post has multiple relevant subjects, then add them up when loading them for the user

What is the best way to tackle this?