首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两种不同应用的流星观测器

两种不同应用的流星观测器
EN

Stack Overflow用户
提问于 2015-09-16 13:13:20
回答 2查看 60关注 0票数 0

由于更改后的数据(由应用程序A插入)需要在应用程序B中实时显示,所以我们决定使用.find().observe(...)

看起来是这样的:

代码语言:javascript
复制
App A   ->    Insert   ->   mongodb    <- observe  -> publish   -> Display App B

这很好,但在插入A到B显示之间有3到5秒的延迟,我怎么能改变这个呢?

最初我认为,Oplog-观察-驱动程序是默认的在Meteor >版本1,并作出了实时反应。是否还在投票,还是有其他原因造成延迟?

谢谢你的扩展。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-16 13:27:48

如果您正在使用Oplog,则更改将立即进行。如果您使用的是轮询,那么正如您所写的那样,需要几秒钟时间。您需要正确设置MONGO_OPLOG_URL以使其工作。(当然,您的MongoDB需要启用Oplog。)

另外,如果您处于反应性上下文中,则不需要使用find().observe()find()就足够了。但是,在服务器上,您可能需要find().observe(),这取决于您在做什么。

票数 1
EN

Stack Overflow用户

发布于 2015-09-16 14:13:31

你用DDP.connect了吗?您还必须使用onReconnect

代码语言:javascript
复制
Remote = DDP.connect('http://yourremoteserver');
MyCollection = new Mongo.Collection('same_name', Remote);

// do whatever you need with collection

let watchCollection = function (query={}, project={}) {
  return MyCollection.find(query, project).observe({
    changed: function () { console.log('Something changed!') }
  });
}
DDP.onReconnect(watchCollection);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32609625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档