今天我完成了我网站的功能部分,所以我进入了开发的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