Javascript 强制Meteor更新远程更改?
我有一个meteor应用程序,正在通过外部API进行修改。API修改Meteor应用程序读取的mongodb。我遇到的问题是,API对数据库所做的更改没有像我希望的那样在meteor应用程序上快速呈现。如果我每10秒向API发布一次新数据,我的meteor应用程序似乎只会每30秒更新一次。如何提高meteor更新/侦听更改的速率?下面是我编写的一些代码的示例Javascript 强制Meteor更新远程更改?,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我有一个meteor应用程序,正在通过外部API进行修改。API修改Meteor应用程序读取的mongodb。我遇到的问题是,API对数据库所做的更改没有像我希望的那样在meteor应用程序上快速呈现。如果我每10秒向API发布一次新数据,我的meteor应用程序似乎只会每30秒更新一次。如何提高meteor更新/侦听更改的速率?下面是我编写的一些代码的示例 UsageData = new Mongo.Collection('UsageData'); if (Meteor.isClient)
UsageData = new Mongo.Collection('UsageData');
if (Meteor.isClient) {
// This code only runs on the client
angular.module('dashboard', ['angular-meteor']);
angular.module('dashboard').controller('DashboardCtrl', ['$scope', '$meteor',
function($scope, $meteor) {
$scope.$meteorSubscribe('usageData');
$scope.query = {};
$scope.data = $meteor.collection(function() {
return UsageData.find($scope.getReactively('query'), {
sort: {
createdAt: -1
},
limit: 1
});
});
}
]);
}
// This code only runs on the server
if (Meteor.isServer) {
Meteor.publish('usageData', function() {
return UsageData.find({}, {
sort: {
createdAt: -1
},
limit: 20
});
});
}
您是否向meteor后端提供了OpLog URL?
如果不是,那么meteor使用的是
poll和diff
算法
Meteor 0.7博客文章,首次引入oplog时
如果直接从mongo控制台进行更改,更新需要多长时间才能传播到客户端?这有助于缩小问题的范围。当我直接从控制台进行更改时,在客户端上传播大约需要5-10秒。这不是本地控制台。这两种行为都不正常@webdeb下面有一个有趣的线索。如果有什么不同,当我在本地运行应用程序并使用默认的meteor mongodb而不是在启动时传递MONGO_URL时,mongodb会立即插入并更新客户端。所以问题出在我使用的远程数据库中…对。然后,您应该共享该服务器配置的各个方面。这就是问题所在。上面的代码不是问题所在。