0
Meteor(1.4.2.3)とReactを使用して、Objects
のコレクションがあり、コレクションItems
を参照するitemId
があります。Meteor Reactがマージしたコレクションを公開
現在、私は、クライアント側のコレクションを購読する:
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
で公開Transformを
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