Elementer i Courses
Samling er det, du udgiver.
Så når du forespørger med Courses.find({"canEditCourse": { $in: [ this.userId ] } });
canEditCourse
felt er det, du forsøger at matche med et userId
(det betyder bogstaveligt talt at finde alle kurser, hvor canEditCourse
array indeholder bruger-id.)
Jeg kan dog ikke se, hvorfor du ønsker at bruge brugernavn her i stedet. Hvad giver det dig?
Hvis du ønsker at gøre dette, skal du have canEditCourse
felt være en matrix af username
og ikke userId
.Det betyder, at du skal ændre logikken, hvor kurserne oprettes eller redigeres, og hvor dette felt udfyldes.
Ikke sikker på, at det er besværet værd. Hvis det, du vil, er at slå kurser op efter brugernavn, så slå brugeren op efter brugernavn, få hans/hendes bruger-id og slå kurserne op efter bruger-id.
Meteor.publish('editableCourses', function (username) {
var myUser = Meteor.users.findOne({'username': username});
return Courses.find({"canEditCourse": { $in: [ myUser._id ] } });
});