我有两个系列,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.call
inside observeChanges
,它手动从服务器获取新数据,虽然它不优雅。我还想Meteor.setTimeout
在从tableB
.
有什么方法可以确保来自的数据tableA
首先到达?