Articoli dei Courses
La raccolta è ciò che stai pubblicando.
Quindi, quando esegui una query con Courses.find({"canEditCourse": { $in: [ this.userId ] } });
il canEditCourse
campo è ciò che stai cercando di abbinare a un userId
(significa letteralmente trovare tutti i Corsi in cui il canEditCourse
array contiene l'ID utente.)
Tuttavia, non vedo perché dovresti usare il nome utente qui. Cosa ti prende?
Se vuoi farlo, devi avere il canEditCourse
campo essere un array di username
e non userId
.Ciò significa che devi cambiare la logica in cui i Corsi vengono creati o modificati e dove viene compilato questo campo.
Non sono sicuro che ne valga la pena. Se quello che vuoi è cercare i corsi per nome utente, quindi cercare l'utente per nome utente, ottenere il suo ID utente e cercare i corsi per ID utente.
Meteor.publish('editableCourses', function (username) {
var myUser = Meteor.users.findOne({'username': username});
return Courses.find({"canEditCourse": { $in: [ myUser._id ] } });
});