Mongodb 根据登录的用户创建的记录填充下拉列表

Mongodb 根据登录的用户创建的记录填充下拉列表,mongodb,templates,meteor,dropdown,meteor-blaze,Mongodb,Templates,Meteor,Dropdown,Meteor Blaze,如何使用登录用户创建的记录/文档填充下拉列表?我有一个集合,许多用户可以创建学校。我希望它是,如果一个用户创建了一个以上的学校,下拉列表应该显示学校的数量填充。如果只有一个,则应将学校的\u id传递到一个隐藏字段 这是学校收藏: if (Meteor.isServer) { Meteor.methods({ SchoolRegister: function (newschoolname, newschoolmotto, newschholvision, sellscho

如何使用登录用户创建的记录/文档填充下拉列表?我有一个集合,许多用户可以创建学校。我希望它是,如果一个用户创建了一个以上的学校,下拉列表应该显示学校的数量填充。如果只有一个,则应将学校的
\u id
传递到一个隐藏字段

这是学校收藏:

if (Meteor.isServer) {
    Meteor.methods({
        SchoolRegister: function (newschoolname, newschoolmotto, newschholvision, sellschool, schooltype, 
            schoolfeerange, schoolcurriculum) {
            if (!Meteor.userId()) {
                throw new Meteor.Error('Not authorized', 'You must be logged in to add a new school!');
                return false;
            }else{
                var regUsername = Meteor.user().username;
                var year = new Date().getFullYear();
                var month = new Date().getMonth() + 1;
                var day = new Date().getDate();
                var date = (month +"/" +day +"/" +year).toString();

    var schoolId =  NewSchoolDB.insert({
                    newschoolnamevar: newschoolname,
                    newschoolmottovar: newschoolmotto,
                    newschholvisionvar: newschholvision,
                    sellschoolvar: sellschool,
                    schooltypevar: schooltype,
                    schoolfeerangevar: schoolfeerange,
                    schoolcurriculumvar: schoolcurriculum,
                    createdAt: new Date(),
                    author: regUsername,
                    authorId: Meteor.userId()
                    
                });
                    return schoolId;
            }
        },

        UserRecords: function () {
            if (!Meteor.userId()) {
                throw new Meteor.Error('Not authorized', 'You must be logged in to add a new school!');
                return false;
            }else{
                //var UserDocuments = NewSchoolDB.find({authorId: Meteor.userId()}).count();
                    return NewSchoolDB.find({authorId: Meteor.userId()});
            }
        }
    });
}
我使用此函数调用该方法:

Template.SchoolContactLayout.helpers({
    UsersDocuments: function () {
        return Meteor.call('UserRecords');
        console.log(Meteor.call('UserRecords'));
    }
});
这是模板文件

{{# if UsersDocuments == 1 }}
                <input type="hidden" name="schoolId" value="{{ UsersDocuments._id }}">
            {{else}}
                <div class="form-group">
                    <select class="form-control" name="schoolnames" id="schoolnames" required style="color: black; width: 100%; font-family: 'candara'">
                        <option value="{{UsersDocuments._id}}">{{UsersDocuments.newschoolnamevar}}</option>
                    </select>
                </div>
            {{/if}}
{{#如果UsersDocuments==1}
{{else}
{{UsersDocuments.newschoolnamevar}}
{{/if}
总之,没有返回任何错误,它也不起作用。

Meteor.call('UserRecords')是一个异步函数,您必须在回调中等待它,然后改用会话

Meteor.call('UserRecords', function(err,res){
// res will be your return value you can set your session here
});
或者你们可以使用包,例如你们可以搜索大气中的反应性方法