Поскольку вы спрашиваете о правильном способе сделать это, я начну с вашей пользовательской схемы. Если вы хотите найти все задачи пользователя, то размещение документов задачи внутри массива в документе пользователя не требуется. Поэтому вам, вероятно, следует удалить это из вашей схемы.
После этого вы можете использовать простое агрегирование, чтобы получить желаемый результат.
UserModel.aggregate([
{
$match:{
name:"Alex"
}
},
{
$lookup:{
from:"todomodels",
localField:"$_id",
foreignField:"$owner",
as:"todos"
}
}
])
это вернет все задачи для этого пользователя в массиве с тем же именем.