问题标签 [meteor-publications]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Meteor publication's this.ready doesn't trigger
I combined two of my publications into a single one, as they were very similar. Both of them returned a set of cursor. I've rewritten them in low-level API, in order to make some control on data removing.
My problem is that, for a reason I totally ignore, the subscription onReady
callback is never triggered. I've got other low-level pubsub in my app which publish data in a similar way and that works perfectly.
On the server, all my logs are correctly displayed, and no error is shown. The publication is runned correctly and the data are effectively sent to the client.
On the client, none of the onReady
or onError
callback is triggered.
Publication :
Subscription :
The client page is correctly rendered, but the DOM manipulation are not triggered, forbidding the display of the content. Does anyone see what I'm doing wrong here ?
Thanks you
EDIT:
I tried to return an array of the three cursors, and, for whatever reason, the problem is the same. However, I don't see why.
meteor - 尽管等待,流星订阅不会刷新
我正在使用铁路由器。我有一个看起来像这样的 RouterController:
我定义了一个路由,它使用这个控制器等待'TheDataINeed':
现在,问题是我订阅的数据是有条件的:意思是,根据用户的角色,我发布不同的数据,如下所示:
当用户的角色不是“订阅”时,我将发布的数据限制为 5 个元素。
问题是发布不是被动的,所以当用户第一次将他的角色更改为“订阅”并且我导航到我的路线(“/myapp”)时,用户仍然看到有限数量的元素而不是所有元素.
当我加载这条路线时,有没有办法手动重新触发订阅?如果可能的话,我想在不向我的应用程序添加新包的情况下执行此操作。
meteor - 当订阅更改其参数时,Meteor Merge Box 是否重用文档
如果在刷新周期中使用“相同的参数”重新运行订阅,它会重用观察者或服务器以及 minimongo 中的数据:
如果订阅使用相同的参数运行,那么“新”订阅会发现旧的“标记为销毁”订阅,它已经准备好相同的数据,并简单地重用它。-流星指南
此外,如果两个订阅都请求同一个文档,合并框将确保数据不会通过 DDP 多次发送。
此外,如果订阅被标记为销毁并使用不同的参数重新运行,则观察者不能被重用,但是我的问题是:如果旧订阅和新订阅在同一个刷新周期中发布共享文档,重叠文档是否需要是在客户端上智能回收,还是需要再次通过网络发送。
[假设没有其他订阅共享此数据。]
javascript - 如何覆盖 Meteor 中包中的出版物?
我需要从一个包中覆盖一个有问题的出版物。
当我将出版物添加到服务器启动时,我得到
mongodb - 返回数组元素的特定属性 - MongoDB/ Meteor
我收藏documents
了games
。每个文档都负责保存运行游戏所需的数据。这是我的文档结构
基本上这是我的纸牌游戏(呼叫桥)的结构。现在我想要发布的是玩家将hand
在他的浏览器( minimongo )以及其他玩家user, scores, calls
字段中拥有他的数据。所以下到浏览器的订阅将是这样的。
players.user
对象具有_id
区分用户的属性。在meteor publish方法中,我们可以访问this.userId
返回请求数据的userId。这意味着我想要匹配hand
的那个用户的嵌套数组。我希望这些解释可以帮助您编写更准确的解决方案。_id
this.userId
meteor - 如何使用流路由器在 Meteor 中基于 URL 发布数据
我正在尝试在我的工作集合中发布特定于文档作者的数据。我的路线是专门为每个独特的作者设置的,然后我通过 FlowRouter.getParam 获得,但它仍然不会产生任何数据。我订阅了“refiJobs”出版物,但我仍在苦苦挣扎。感谢阅读 - 非常感谢您的帮助!
我的出版物
我的路线:
mongodb - MongoDB在具有不同名称的对象中获取多个具有相同名称的对象:
所以我似乎无法得到我想要的结果,所以我请求你的帮助。想象一个为多语言内容构建的 MongoDB 数据库,如下所示:
现在,如果我想查询以获取英语和葡萄牙语的方向对象而不是问候语,我应该怎么做?
如果有帮助,我的目的是准确订阅流星应用程序模板上的内容,因此不需要给定语言对象中的所有其他对象,只是我需要任何给定模板的对象。
提前致谢!
javascript - 订阅 Meteor.users 收藏更新
我在我的应用程序中使用react-komposer和 React,并且在某一时刻我更改了反映当前用户profile
的集合项目的用户属性。Meteor.users
这里的问题是它不会在调用render
. 无论我对 Meteor.users 集合做什么,即使我Meteor.user()
在render
函数内引用,也不会重新渲染组件。如果我做
那么我只能在控制台上看到两次“渲染”:一次是最初渲染组件,第二次是其他订阅准备好。
我想订阅Meteor.users
收藏,但我不知道是否有办法。
我绝对可以使用 Tracker 对每个 Tracker 循环做出反应,但对我来说感觉太 1.2。但这是唯一的方法吗?
另外,我肯定已经阅读过其他问答,Meteor.users
比如这个或这个,但是将用户集合直接包装到 pub/sub 中的想法感觉不自然,而且几乎不是收听集合中每个更新的好方法。
meteor - 流星出版物/订阅不起作用
我有点菜鸟,在让我的出版物正常工作时遇到了一些麻烦。在我的数据中,我有许多患者,并且想显示单个患者的数据。这就是我组织我的出版物的方式:
这就是我订阅的方式:
我也尝试通过实际模板订阅无济于事:
从理论上讲,出版物似乎很容易,但我似乎无法正确解决它们。我在这里做错了什么?
meteor - 在 Meteor 中使用 this.add
我正在尝试转换出版物,这是我的代码:
当 I 时console.log(name)
,我可以看到完整的名称,但我不太确定如何使用this.added
来添加新数据。我该怎么做?如果我确实输入了这个新数据,它会覆盖旧数据吗?
如果有更好的方法来实现这一点,我也想知道。