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

流星发布未定义或发布函数只能返回一个游标或游标数组

郭胤
2023-03-14

我的Meteor publish出现了一些有线问题,当我找到它时,它工作正常,但使用findOne时,它不工作,使用findOne时,我得到了一个光标错误。

这是我的代码

Meteor.publish('organizations', function() {
    var user = Meteor.users.findOne(this.userId);
    if(!user) return '';
     var debugTest = Organizations.findOne(user.organizationId);
      console.log(debugTest._id);
    //return Organizations.findOne({_id: user.organizationId});
}); 

为此,我没有定义

如果我执行以下操作

Meteor.publish('organizations', function() {
  var user = Meteor.users.findOne(this.userId);
  if(!user) return '';
  console.log(user.organizationId);
  var debugTest = Organizations.findOne(user.organizationId);
  console.log(debugTest._id);
  //return Organizations.findOne({_id: user.organizationId});
});

我取回了两个ID,但返回后我得到了以下错误

我NvoF9MimZ6tJ95c3mNvoF9MimZ6tJ95c3m

错误Exception from sub KLnQphHTXmQcjEi2D错误:发布函数只能返回一个游标或一个游标数组

共有2个答案

姜业
2023-03-14

因此,问题是由于我的模板发布/订阅工作正常,但在我的模板助手中,我有以下导致问题的原因。

hasOrganization: function() {
    var user = Meteor.user();
    var organizationsCount = Organizations.find({$or:[{userId: user._id},{**userId**: user.organizationId}]}).count();
    console.log(organizationsCount);

    if (organizationsCount >= 1) {
      return true
    } else {
      return false
    }

这是固定版本

hasOrganization: function() {
    var organizationsCount = Organizations.find().count();
    if (organizationsCount >= 1) {
      return true
    } else {
      return false
    }
  }
洪念
2023-03-14

findOne不返回Mongo光标。它返回一个Mongo文档。如果希望这样做,请尝试更改为使用退货组织。查找({u id:user.organizationId}) ”。这将返回一个文档游标,这是发布调用所期望的。

有关更多信息,请查看文档。

 类似资料:
  • 我有本出版物 但我得到了这个错误

  • 我知道之前有人问过这个问题,但我还是希望有人能帮我。我使用meteorchef的基本模板。 从ScoreTotal.js在用户界面/容器目录我做: 在服务器/出版物中,我有: 当我console.log结果时,我看到聚合有效,但我得到错误“发布函数返回非光标数组” 感谢您的帮助!

  • 我试图发布一个集合,但我的控制台说它返回一个数组。 服务器/publish.js RelyeffTopContainer.jsx REYPHTop.jsx 我正在尝试将当前计数放入#output div,以便在所有用户屏幕上显示。

  • 我有一个文件看起来像这样。 查找这些订单将得到如下结果 现在我的出版物将找到并观察父。 当其中任何一个发生变化时,我想修改顶级文档并发布它。也就是说: 流星有可能吗?

  • 1.1. Rokid技能发布标准 1.1.1. 商标,知识产权和品牌 1.1.2. 健康相关 1.1.3. 收费相关 1.1.4. 广告 1.1.5. 色情、暴力 1.1.6. 宗教,种族和文化 1.1.7. 内容 1.1. Rokid技能发布标准 该标准适用于所有提交至Rokid开发者社区审核的公有技能(私有技能的要求不在本审核标准范围内)。本标准的内容会随着开发者社区的建设而不断完善。 如果您

  • 我想循环存储过程的结果。我的代码: 我不明白为什么这是抛出必须声明c_curs的错误: 从命令-开始中的第7行开始时出错 结束<错误报告- ORA-06550:第2行,第24列: PLS-00201:必须声明标识符C_CURS