我有两个系列,tableA和tableB. 文档中tableB的一个字段对应_id于一个文档中的字段tableA(基本上是外键)。例如:
tableB.find({tableA_id: xxx}) // returns documents whose tableA_id is xxx
现在,我有一个observeChanges收听的tableA集合。如果tableA有新的或更新的文件,我需要从新tableB的文件中获取文件_ids:
tableA.find({}).observeChanges({
changed: function(new, old) {
tableB.find({tableA_id: new._id});
}
...
});
但是,有时,tableA即使我先插入文档,更新也会先到达客户端tableB。
// This is how I insert data in the server.
tableB.insert(...);
tableA.insert(...);
来自的更新tableB很快就到了。
我目前的解决方案基本上是做一个Meteor.callinside observeChanges,它手动从服务器获取新数据,虽然它不优雅。我还想Meteor.setTimeout在从tableB.
有什么方法可以确保来自的数据tableA首先到达?