所以我有以下情況。我向容器A中的一羣參與者返回一個事件。容器B是A的子項,只要訂閱已準備好並且數據已加載,就會立即呈現該容器。 B現在應該使用所有的參與者id來獲取相關的用戶信息(即圖片和名稱)。如何導入用戶/用戶集合?
的方式,我通常是在流星訪問數據是通過做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)
在MODUL我的組件的生命在我導入活動收集這樣的:
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';
現在,我想用一個訂閱的用戶的一部分,在那裏我有上述活動.find(fin).fetch()我沒有這樣的用戶(因爲在服務器端我通過Meteor.users.find()獲取信息...如果我嘗試以類似的方式聲明Users集合活動,我收到有關重複申報的消息。
嗨chazsolo,thx爲您的答覆!非常感激。我已經有一個用戶發佈只公開用戶數據,我想我很困惑,因爲我必須以不同的方式處理它。即而不是做Events.find({something})我必須做Meteor.users.find({})。我想我的問題是關於如何在客戶端導入用戶集合以使用它(特別是在createContainer中)。這有意義嗎? –
@FabianBosler當然!我敢肯定,你不必導入'Meteor.users',只需'Meteor',然後你就可以訪問(http://docs.meteor.com/api/accounts.html#Meteor-users) – chazsolo
是的,我已經這樣做了。與其他任何收藏品相比,這種方式有點不同,感覺很奇怪。我的意思是它的工作原理和所有,但它感覺有點統一。 –