【发布时间】:2017-07-18 04:14:59
【问题描述】:
所以我有以下情况。我返回一个事件,其中包含容器 A 中的一群参与者。容器 B 是 A 的子级,并在订阅准备好并加载数据后立即呈现。 B 现在应该使用所有的参与者 ID 来获取相关的用户信息(即图片和姓名)。
我通常在meteor中访问数据的方式是像这样createContainer:
const ComponentContainer = createContainer((props) => {
const eventSub = Meteor.subscribe('getEvent',props.find.filter);
const loading = !eventSub.ready();
const eventData = loading ? null : Events.find(fin).fetch()[0];
const eventDataExists = !loading && !!eventData;
return {
loading,
eventData,
eventDataExists,
}
}, Component)
在我的组件所在的模块中,我像这样导入 Events 集合:
import { Events } from '/imports/api/collections'
我在 /imports/api/collections 中定义了我的所有集合,如下所示:
import { Mongo } from 'meteor/mongo'
export const Events = new Mongo.Collection('events');
我也像这样导入我的服务器集合(在 /server/main.js 中)
import {
Events,
...,
} from '/imports/api/collections';
现在,由于我想订阅部分用户以及我在 Events.find(fin).fetch() 上面的位置,因此我没有为用户提供该订阅(因为在服务器端,我通过以下方式获取信息Meteor.users.find() ...如果我尝试以与事件类似的方式声明用户集合,我会收到有关重复声明的消息。
【问题讨论】:
标签: javascript reactjs meteor