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

Meteor-发布数组-但我如何订阅?

璩和璧
2023-03-14

我在服务器上有这个发布

Meteor.publish('events', function(){
    var currentUserId = this.userId;
    var events_private = Events.find({ UserId: currentUserId });
    var events_internal = Events.find({ 'Option.option_vis' : "internal"});
    var events_public = Events.find({ 'Option.option_vis' : "public"});
    if (events_UsersOwn){
      return eventsForUser = [
        events_private//
        events_UsersOwn,
        events_public
      ]
    }
    return this.ready();
});

在客户端上,我想订阅。但我怎样才能接触到背后的数据呢?我尝试了以下内容:

Meteor.subscribe('events.events_private');

并找到方法

Template.eventTemplate.helpers({
    returnUsersEvents: function(){
        console.log(Events.find({}).fetch());
    }
});

我做错了/理解错了,但我认为我很接近。谢谢

共有1个答案

岳允晨
2023-03-14

从发布函数返回游标数组时,每个游标必须来自不同的集合。事件集合中有3个游标。不支持此操作。

您需要创建3个单独的出版物。

 类似资料:
  • 我已经设置了一个简单的应用程序,它显示了项目列表。我已经删除了自动发布包,所以我不会将所有内容发送给客户端。 打开时,这将显示所有项目: 移除后,我还必须执行以下操作: 那么,说客户端的find()方法只搜索从服务器端发布的记录,准确吗?它一直在绊倒我,因为我觉得我应该只调用一次。

  • 本文向大家介绍meteor 基本订阅和发布,包括了meteor 基本订阅和发布的使用技巧和注意事项,需要的朋友参考一下 示例 首先,删除autopublish。autopublish自动将整个数据库发布到客户端,因此无法看到发布和订阅的效果。 删除autopublish: 然后,您可以创建出版物。下面是一个完整的示例。            

  • 我有一个由“记事本”组成的meteor应用程序,每个记事本都包含一组“笔记”,可以在任何位置插入、删除或编辑行。该数组包含在一个对象中,该对象包含各种其他信息(例如名称、用户等)。主文档中的每个对象都将包含其中一个数组。例如: 是否有任何方法可以将“注释”作为其自己的集合传递给我的客户,以便客户可以直接编辑它,就像它没有嵌入一样?如果每次我想更新时都需要将完整的notes数组传递给服务器,我担心性

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

  • 问题内容: 当前,我正在使用node.js和redis来构建应用程序,使用redis的原因是由于发布/订阅功能。该应用程序只是在用户进入用户或不在房间时通知管理员。 由于我想听join和disjoin事件,我的问题是我是否应该使用两个redisclient来听这两个事件,例如 或者只是使用一个redisclient来监听和分离回调中的逻辑 我知道这两种方式都是可行的,但是我不知道人们在哪种情况下会

  • 简介 Redis 的列表类型键可以用来实现队列,并且支持阻塞式读取,所以 Redis 能够非常容易的实现一个高性能的优先队列。同时在更高层面上,Redis 还支持“发布/订阅”的消息模式,可以基于此构建一个聊天系统。 发布示例 发布(Publish)即将消息发布到频道中。示例代码: // 发送消息 Redis::publish('chan-1', 'Hello, World!'); // 发送消息