今天我完成了我網站的功能部分,所以我進入了開發的secure-my-app部分。我只想給用戶提供他們相關的內容,所以,對於我的老師(= user.role ==「teacher」)的用戶,我只想給他們訪問給定的任務,如果他們的_id在_ids的assignment.teachersList數組。我想在發佈中進行驗證,所以我必須在查詢結束時獲得一個遊標。(mongo)ID數組:我應該怎麼做?
看OFFICIAL documentation of mongo後,好像做什麼,我想應該是簡單:
// in a publish
Assignements.find({ teachersList: this.userId });
然而,這總是返回我的不實。首先,我怕一這個方面的問題,我想是這樣的:
// in a publish
let self = this;
Assignements.find({ teachersList: self.userId });
,這不是更好,我還是什麼也沒得到。我嘗試使用Cursor.map()並在那裏放置我的條件,但由於map不返回遊標,因此我獲取數據,但由於我們處於發佈狀態,因此它無法正常工作。
這是寫在文檔的第一次嘗試我做了應該工作,所以沒有懷疑我做了錯事,但什麼..? 現在,我開始懷疑,如果問題來自於一個事實,即它是_ids的數組。現在,它只是一個字符串數組。而且似乎的方法只返回一個字符串this.userId ....但也許我錯了,我應該使用Meteor.Mongo.ObjectId(the_string_id)對象?
好吧,就是這樣!請,如果你有任何想法爲什麼這麼簡單的查詢不起作用,告訴我!謝謝:)
謝謝您的回答爲好,再次,你的模式是一個相當不錯的主意!你教了我一些東西:)我可能會在未來的項目中使用它:) – xababafr
雖然我沒有想出那種模式,但是前一段時間在教程的某個地方發現它,嘗試過並保留它......如果你是滿意答案,它解決了您的問題,請將其標記爲避免其他人試圖回答的答案。 – Mozfet