javascript - 如何告诉 DDP 有选择地观察某些字段的更改,而不是所有定义的字段..?

标签 javascript meteor ddp

我们通常按如下方式发布数据...

Meteor.publish('items', function(a) {
  return Items.find(a, {fields: {observeA:1, observeB:1, noobserveA:1, noobserveB:1}});
});

我有以下条件...

  • observeAobserveB 是 react 数据,所以我需要观察它们......
  • noobserveAnoobserveB 是静态数据,所以我不需要观察它们...

通过上述发布,DDP 仍然遵守 noobserveAnoobserveB..

如何告诉DDP不要观察noobserveA和noobserveB..??

我认为可能的是直接控制发布的记录...但我什至不知道如何使其工作..高级发布对我来说现在感觉太多了...

Meteor.publish('items', function(a) {
  var self = this;
  var handle = Items.find(a || {}).observeChanges({
    changed: function(id, fields) {
      self.changed("itemdata", id, fields);
    }
  });
  self.ready();
  self.onStop(function () {
    handle.stop();
  });
});

在此之后我应该做什么..?我不知道我现在在做什么...所以如果你知道如何不通过高级出版物或其他想法来观察 noobserveAnoobserveB ,,随意写答案...我需要的不是观察 noobserveAnoobserveB 字段...仅此而已...

谢谢你...

最佳答案

为什么不将 noobserveAnoobserveB 存储到本地集合中?

存储到本地集合后,您可以从本地集合中获取 noobserveAnoobserveB。由于本地集合与服务器没有连接,因此服务器中的每次更新都不会对 noobserveAnoobserveB 产生任何影响。然后,noobserveAnoobserveB 将如您所愿为静态。

这样,您就不必接触高级出版物。

关于javascript - 如何告诉 DDP 有选择地观察某些字段的更改,而不是所有定义的字段..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35144948/

相关文章:

Javascript 更改查询字符串以进行刷新

javascript - Mongo/Meteor 游标更新事件

javascript - 如何使用 Meteor 发送文本?

javascript - Meteor - 为什么我应该尽可能使用 this.userId 而不是 Meteor.userId() ?

javascript - 如何在 React Native 中管理用户 session ?

javascript - 将 django 变量传递给 javascript

java - 如何在Meteor中获取Java客户端调用DDP的源ip地址

android - 如何使用 Android DDP 从 Meteor 服务器获取集合?

javascript - angularjs 添加值无法设置未定义的属性 'id'

javascript - Meteor/JavaScript 中 undefined object