Meteor app从集合查询中随机返回一个空结果

时间:2013-10-23 03:54:58

标签: mongodb meteor

我有一个名为Application的集合,用于存储具有引用user的属性userId的文档。这就是我将用户与应用程序相关联的方式。

所以要获取当前登录用户的应用程序,这是我的代码:

currentApp = function() {
    var userId = Meteor.userId(),
        appCursor = Applications.find({"user": userId});
    if (appCursor.count() === 0) {
        console.log('no application found');
        return ;
    } else if (appCursor.count() > 1){
        // when there are duplicate applications for a user
        console.log('apps found: ' + appCursor.count());
        return Applications.findOne({"user": userId});
    } else {
        // cursor fetch returns an array
       return appCursor.fetch()[0];
    }
}

此代码大部分时间都可正常运行。但是,偶尔刷新页面后,我会收到no application found错误。

我不确定为什么会这样。任何建议将不胜感激。如果我的问题不明确,请随时要求澄清!

更新:一旦部署到服务器(meteor.com),如果发生此错误,它会坚持下去。让事情恢复正常的唯一方法是退出并重新登录。

更新:currentApp用于客户端模板,如下所示

Template.form.app = function () {
    return currentApp();
}

0 个答案:

没有答案