我们已经根据列表 id 发布了项目,我们使用 myLists 变量来过滤列表 ID,但是这个变量本质上不是反应性的,当我们尝试添加新列表时,新列表的项目不会自动发布。
Meteor.publish('subscription_items', function () {
var userName = this.userId ? Meteor.users.find({ _id: this.userId }).fetch()[0].username : null;
var myLists = [];
var sharedListIDs = [];
SharedLists.find({ shared_with: userName }).forEach(function (list) {
sharedListIDs.push(list.list_id);
});
Lists.find({ $or: [{ owner: userName }, { _id: { $in: sharedListIDs } }] }).forEach(function (list) {
myLists.push(list._id);
});
return Items.find({ list_id: { $in: Lists.find({ $or: [{ owner: userName }, { _id: { $in: sharedListIDs } }] }).fetch() } });.
我们有什么办法总是发布新数据吗?请帮我解决这个问题。任何帮助/建议将不胜感激。