0
隨着流星(1.4.2.3)和React,我有收集Objects
其中有一個itemId
它是指收集Items
。流星反應發佈合併集合
目前我訂閱集合在客戶端有:
export default createContainer(() => {
let objectsSub = Meteor.subscribe('allObjects');
var objects = Objects.find({}, {
transform: function (doc) {
doc.item = Items.findOne({
_id: doc.itemId
});
return doc;
}
}).fetch();
return {
objects: objects,
}
}, App);
這完美的作品,但我認爲這是更優雅的合併在服務器端的集合。然而,沒有我找到了解決方案,似乎工作
變換的集合定義
的控制檯提供:
Error: transform must return object
變換在發佈
if (Meteor.isServer) {
Meteor.publish('allObjects', function() {
return Objects.find({}, {
sort: { startedAt: -1 },
transform: function (doc) {
doc.item = Items.findOne({
_id: doc.itemId
});
return doc;
}
});
});
};
TypeError: Cannot read property 'name' of undefined
凡name
是Items
看一看https://github.com/englue/meteor-publish-composite – chazsolo
@chazsolo:我試過了,但孩子們沒有訂閱收藏。我認爲這是一個正在運行的問題:https://github.com/englue/meteor-publish-composite/issues/67 – API