Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 流星铁路由器中的findOne()返回未定义_Javascript_Mongodb_Meteor_Iron Router_Subscriptions - Fatal编程技术网

Javascript 流星铁路由器中的findOne()返回未定义

Javascript 流星铁路由器中的findOne()返回未定义,javascript,mongodb,meteor,iron-router,subscriptions,Javascript,Mongodb,Meteor,Iron Router,Subscriptions,Mi浏览器将下一个错误抛出到控制台 Uncaught TypeError: Cannot read property 'name' of undefined router.js:16 当我尝试运行此代码时: /////////////////////////////////// // FILE: /router.js /////////////////////////////////// Router.configure({ layoutTemplate : "main" });

Mi浏览器将下一个错误抛出到控制台

Uncaught TypeError: Cannot read property 'name' of undefined  router.js:16
当我尝试运行此代码时:

///////////////////////////////////
// FILE: /router.js
///////////////////////////////////

Router.configure({
    layoutTemplate : "main"
});

Router.route('main',{
    path : '/',
    template : 'main',
    waitOn: function() {
        return [
            Meteor.subscribe('userdata'),
            Meteor.subscribe('portrait')
        ];
    },
    data: function() {
        return {
            name: UserData.findOne().name,
            portrait: Portraits.findOne()
        };
    }
});

////////////////////////////////////////
// FILE: /client/main.html
////////////////////////////////////////

<template name="main">
    <header>
        My School
        <br>
        {{#if currentUser}}
            {{name}}
            <img src="{{portrait.url}}">
            <a href="{{pathFor 'login'}}" id="logout">Logout</a>
        {{/if}}
    </header>
    <div>
        {{> yield}}
    </div>
</template>

////////////////////////////////////////////
// FILE: /server/publications.js
////////////////////////////////////////////

Meteor.publish("userdata",function() {
    return UserData.find({user : this.userId});
});

Meteor.publish("portrait",function() {
    var portraitId = UserData.findOne({user : this.userId}).portrait;
    return Portraits.find({_id : portraitId});
});

///////////////////////////////////////////
// FILE: /lib/portraits.js
///////////////////////////////////////////
var portraitsStore = new FS.Store.FileSystem("portraits",{path : '~/Applications/meteor/school/server/uploads'});

Portraits = new FS.Collection("portraits",{
    stores : [portraitsStore]
});

///////////////////////////////////////////
// FILE: /lib/userdata.js
///////////////////////////////////////////

UserData = new Mongo.Collection('userdata');
使用订阅检索Template.principal.helpers中的数据时没有任何问题。问题在于铁制路由器


我使用的是ubuntu 14.04 whit chrome,谢谢你

在usuarios集合中有当前用户创建的记录吗?是的,我在mongo控制台中查看你发布的代码没有翻译成英语。Stack Overflow是一个国际社区,将您的变量和函数名以及您的注释翻译成英语将极大地提高您的问题对国际读者的清晰度,并增加您的问题被回答的可能性。好的,我编辑了这篇文章,现在是英文的。对不起,我的英语不好