流星收集观察变化

时间:2017-06-04 06:45:54

标签: meteor

以下代码在集合中填充某些信息时触发客户端。有时它在智能手机上不起作用,但在桌面Chrome上工作正常 在集合上调用/** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function meetingSummaries() { return $this->hasMany('App\InteractionSummary'); } find是否正确?不是过度杀人? THX

findOne

修改

'myMethod': function (age, health) { Meteor.call('doStuff-that-will-change-the-document'); myCollection.find().observeChanges({ // <===== find changed: function (id, fields) { let newDoc = myCollection.findOne({age: age}); // <==== another findOne Meteor.users.update({_id: Meteor.user()._id}, {$unset: {'profile.taskInProgress': ''}}); if (newDoc) { if (fields.filed1) { lib.dothis1(newDoc, health); } else if (fields.field2) { lib.dothat(newDoc, health); } } } }); }, lib.dothis1分别更新时,我需要客户端代码触发lib.dothatfield1

1 个答案:

答案 0 :(得分:0)

如果您想了解添加的内容,只需使用added属性 - see the docs

  

建立一个实时查询,在查询结果发生变化时调用回调。与observe相反,observeChanges仅提供旧结果集和新结果集之间的差异,而不是更改的文档的全部内容。

     

回调可能具有以下功能:

added(id, fields) or
     

新文档已输入结果集。它有id和字段   指定。 fields包含文档的所有字段,不包括   _id字段。新文件在之前确定的文件之前,或者在之前是否为空之前结束。

比添加新文档时获得新回调更有效,这比再次使用find更有效。