当前位置: 首页 > 知识库问答 >
问题:

Publish返回非游标数组

车胤运
2023-03-14

我知道之前有人问过这个问题,但我还是希望有人能帮我。我使用meteorchef的基本模板。

从ScoreTotal.js在用户界面/容器目录我做:

const composer = (params, onData) => {
   const subscription = Meteor.subscribe('teams.scores');
   if (subscription.ready()) {
    const teams = Teams.find().fetch(); 
    onData(null, { teams });
  }
};
export default composeWithTracker(composer, Loading)(ScoreTotal);

在服务器/出版物中,我有:

Meteor.publish('teams.scores', (_id) => {
    var pipeline = [
        {$project: 
          { _id: 0, 
            teamname: 1, 
            score1: 1,
            score2: 1,
            scoretotal: { $add: [ "$score1", "$score2" ] },
        }}
    ];

    var result = Teams.aggregate(pipeline, {_id});
    return result;
  });

当我console.log结果时,我看到聚合有效,但我得到错误“发布函数返回非光标数组”

感谢您的帮助!

共有1个答案

卢枫涟
2023-03-14

你可能想用一种方法来代替。

Meteor.methods({
  'teams.scores': function(_id) {
    var pipeline = [
      {
        $project:
        { _id: 0,
          teamname: 1,
          score1: 1,
          score2: 1,
          scoretotal: { $add: [ "$score1", "$score2" ] },
        }
      }
    ]
    var result = Teams.aggregate(pipeline, {_id})
    return result
  }
})

// on client
Meteor.call('teams.scores', function(error, result) {
  // use result to update dom, etc.
})
 类似资料:
  • 我试图发布一个集合,但我的控制台说它返回一个数组。 服务器/publish.js RelyeffTopContainer.jsx REYPHTop.jsx 我正在尝试将当前计数放入#output div,以便在所有用户屏幕上显示。

  • 问题内容: 我有一个具有数百万个密钥的redis数据库。有时候,我需要通过模式如查询键为我用。初次致电应该是 然后,它将返回一堆键和下一个光标;如果搜索完成,则返回0。 但是,如果我运行查询并且没有匹配的键,则仍然返回非零游标,但是键集为空。这种情况一直发生在每个后续查询中,因此搜索似乎不会在很长时间内结束。 Redis文档说 SCAN系列功能不保证每次调用返回的元素数在给定范围内。 还允许命令返

  • 我有本出版物 但我得到了这个错误

  • 问题内容: 起初我想注意到英语不是我的母语,无论我希望我们不会误会 我在Android上编写了简单的应用程序,发现了一个问题,也解决了该问题,但是无论如何,我都想了解为什么会这样。 我创建了一个sql表: 并以这种方式将数据放入其中: 现在..一切正常,我使用此应用程序进行了验证,可以存储的值正确。 不过,当我尝试使用1得到错误的值2)获得日期值时,它的负数(例如-1004124) 因此,我尝试用

  • 我有以下方法,用于返回Play for Scala应用程序中的字符串列表: } 代码不会编译并出现以下错误,因为如果 access = 0,则结果不是 Future: 类型不匹配;找到:play.api.mvc.Result要求:scala.concurrent.Future[play.api.mvc.Result] 如何解决这个问题?

  • 我有简单的方法,检查现有的用户名在sqlitedatabase.如果它存在它返回true否则false. 但是cursor.getcount()总是返回0,无论我如何更改查询。 这是我的代码: