今日私は自分のウェブサイトの機能的な部分を完成させたので、私は開発の安全なアプリの部分に入った。関連するコンテンツだけをユーザーに提供したいので、教師(= user.role == "teacher"のユーザー)には、_idが指定されていれば、指定された課題にアクセスできるようにしたい_idsのassignment.teachersList配列私はパブリッシュのこの検証をしたいので、私は、クエリの最後にカーソルを取得する必要があります。(mongo)IDの配列:どうすればよいですか?
// in a publish
Assignements.find({ teachersList: this.userId });
はしかし、これはいつも私はfalseを返します。
OFFICIAL documentation of mongoを見た後、それは私がほど単純であるべき欲しいものやっように思えます。まず、このコンテキストの問題の恐れがあること、私のような何かを試してみました:
// in a publish
let self = this;
Assignements.find({ teachersList: self.userId });
をして、私はまだ何も得ることは良くありません。私はCursor.map()を使用してそこに私の状態を入れようとしましたが、マップがカーソルを返さないので、私はデータを取得しますが、私たちはパブリッシュされているので動作しません。
私が最初に試したのはうまくいくはずだから、何か間違っているのは間違いありませんが、何が...? 問題は、それが_idsの配列であるという事実から来ているのだろうかと疑問に思っています。今は、唯一の文字列の配列です。そして、それはthis.userIdメソッドでは、文字列を返します....しかし、多分私は間違っていると私はMeteor.Mongo.ObjectId(the_string_id)オブジェクトを使用する必要がありますか?
申し訳ありません!このような簡単なクエリがなぜ機能しないのか分かっているなら、教えてください!ありがとう:)
を同様にあなたの答えのおかげでは、再び、あなたのパターンはかなり良いアイデアです!あなたは私に何かを教えました:)私はおそらく将来のプロジェクトでそれを使うでしょう:) – xababafr
私はそのパターンを思いついたことはありませんでしたが、ある時間前にチュートリアルのどこかでそれを見つけ出して試してみた。答えに満足し、それがあなたの問題を解決したら、他の人がそれに答えようとするのを避けるために答えとしてマークしてください。 – Mozfet