问题标签 [meteor-collections]
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 - How do I pass collection information through #each block in Meteor?
I am populating a drop down menu with different items in a Meteor Collection Cases
.
I get the value of the selection, aka the name by:
And I can retrieve the id of the case by using:
However I am planning on letting users create cases with the same name. Is their a way to pass the id through the {{each}}
without displaying the _id
in the drop down selection?
javascript - 是否可以在 Meteor 中定义多个模板助手而不是一个一个地定义?
带有名称的集合Services
有多个文档:
假设我想要可以显示每个不同服务的 serviceDescription 和价格的助手。
这个例子只展示了三个不同的服务,并且希望每个服务的两个属性都有助手。
如果每项服务有 10 个不同的属性,并且我需要每个属性的助手并且我有 30 个不同的服务,该怎么办?这样做需要我编写和定义 300 个不同的助手。
有没有更简单的方法来做到这一点?此外,由于我网站的结构方式,我不能#each
像 Meteor 手册那样使用它来Posts
收集它。
javascript - 在集合支持的原型中是否存在延迟加载 getter 的模式(在 JavaScript/Meteor 中构建反应式 ORM 关系)
我正在尝试在集合支持的 Meteor 原型中模拟延迟加载的项目数组,但具有反应性。
所以,假设我有一个带有原型的书籍集合:
现在我想要一个 Shelves 集合,但我想延迟加载书籍:
所以,现在我有一个 Self,我现在可以调用Shelf.books
它并获取所有的Books
,但直到我调用它才加载它们。此外,对 set 的调用book_ids
将导致数据无效,因此下一次调用将books
产生Books
与 that 关联的新集合Shelf
。
现在我该如何做出这种反应,以便更新book_ids
触发召回以找到正确的Books
,并且这样做会触发Shelf.books
现在将触发刷新的任何人?或者,更好的是,如果 aBook
被更新,那么与它相关的所有内容Book
(Shelf.books
以及调用它的任何人)也会被响应更新?
node.js - meteorjs (CollectionFS) 读取文件源
我正在为我的 meteorjs 应用程序使用 CollectionFS 并尝试上传文件,然后读取源代码来做其他事情。
我想做的空心清单如下:
- 上传文件
- 读出源
- 取决于我将删除或不删除文件的内容
第 1 步和第 3 步没问题 - 但第二步我不明白该怎么做。有一些回调可以“访问”文件(例如构建 readStream 等),但我不明白如何使用它来读出漏洞源代码。
在我的情况下,我上传了一个 CSV 文件,上传后我想分析内容 - 但是如何使用 CollectionFS 解决第 2 步?
meteor-collections - 如何从使用流星样板创建的流星项目中返回代码集合?
这是我正在使用的代码:
但是 HTML 没有返回集合。
meteor - 发布用户所在组的项目(Alanning Roles and Publications)
我正在使用Alanning Roles为我的应用程序的用户维护一组组/角色。当用户创建“应用程序”时,我为他们生成一个新角色作为app_name + UUID
,然后将其作为具有角色的组添加Admin
到创建它的用户。然后,我可以使用生成的组名加上Admin
orViewer
角色的组合来确定哪些Applications
用户有权查看和/或编辑。
我遇到的问题是我想不出一个好方法来让出版物只发布用户应该看到的东西。我知道,至少在默认情况下,发布不像客户端那样“反应性”,它们仅对返回的游标具有反应性。但是,在我的代码中,我首先创建组/角色,将其添加到用户,然后保存“应用程序”,我认为它会重新运行我的出版物,但它没有:
但是,与我认为会发生的情况相反(整个发布方法将重新运行),我猜真正发生的是只有 Cursor 是更新。因此,对于我的下一次尝试,我添加了 mrt:reactive-publications 包并简单地将光标移至用户的 Meteor.users 集合,认为这会“触发”当用户使用新的更新时重新运行发布组/角色,但这不起作用。
我最终通过简单地为用户传递组来工作:
然后我只是像Meteor.subscribe('myApplications', Roles.getGroupsForUser(Meteor.userId()))
在我的路线中那样调用出版物waitOn
,但这意味着任何客户都可以调用相同的出版物并传入他们喜欢的任何组,并可能看到他们不打算看到的文档。这似乎是一个相当大的安全漏洞。
有没有更好的方法来实现这一点,这样客户就无法哄骗他们看到不属于他们的东西?我认为唯一真正的方法是在发布方面聚集小组,但这会破坏反应性。
meteor - Meteor 集合获取返回空数组但已订阅
我卸载了自动订阅并重新启动了流星应用程序。从那时起,我就无法在客户端访问我的收藏数据。
每个与空数组返回相关的问题都给出了相同的答案:订阅的数据尚不可用。但无论我等多久,我都看不到客户端上的数据。
服务器:
登录states.find().fetch()
服务器会按预期吐出我的状态。
在客户端:
states
并按states.find()
预期返回对象,.fetch()
返回一个[]
.
等待(甚至几分钟)然后states.find().fetch()
在浏览器控制台中运行让我[]
仍然。
想法?
编辑
集合在 isServer/isClient 块之外声明(以利用模式)。
javascript - 如何在空格键 #each 标签中显示来自两个不同集合文档的数据?
我有 2 个集合(其中一个是标准集合,另一个是 CFS 集合,用于存储我上传的图像):
和
Products 集合中的某些文档具有“product_main_image”的字段或键/值对,其中存储了上传文件的文件名,该文件存储在 Uploads CFS 集合中。
在我的页面上,我设置了一个助手:
在html中我有:
{{product_main_image}}
但是,我想显示上传的文件,而不是显示的实际文件名,就好像我使用以下代码访问它一样:
这个页面是我显示所有使用的产品的地方{{#each products}}
,我还想显示存储在 Uploads CFS 集合中的每个产品的图像。
这可能吗?我怎样才能做到这一点?谢谢...
javascript - 如何在渲染模板之前使用流星订阅Ready() 来确保数据准备就绪?
使用新的和正在开发的框架的挑战之一是您在网络上找到的建议通常已经过时了。这双重适用于 Meteor,其中 SO 答案和网络文章通常针对 1.0.x 之前的版本或 1.0.x 早期版本,或者针对之前版本的 Iron-router,或者在他们上周推出功能之前,等等.
仍然对如何在让模板等待订阅准备就绪的上下文中使用 subscriptionsReady() 函数感到困惑。我当然需要它,因为我的模板尝试在大约 3/4 的时间没有数据的情况下进行渲染。
如何使用 subscriptionsReady()?我已经看到在 html 中使用它的示例,我认为这有点愚蠢(模糊演示和功能)。如何在模板的代码部分使用它?
它是否用于带有某种waitOn的铁路由器?我是否在模板渲染器中用 while 循环包装它?你能举一个简化的例子吗?
强制性代码的东西......我的模板路线:
我的订阅:
html 部分非常简单,一些 HTML 包含在模板标签中。
我的模板代码:
谢谢您的帮助。
meteor - 发布所有先前订阅的联合
我有一个大型可搜索数据集。在呈现页面之前发送整个数据集的速度令人无法接受,因此我们目前只是发送包含搜索的部分,因此
假设我在 1 月份有 10,000 个事件,在 2 月份有 5,000 个事件。
我想要的是只需要发布一次这些记录,并且由此产生的客户端集合是所有先前结果的联合。
我不认为 pub/sub 像这样开箱即用,但是有什么方法可以近似这种行为吗?