Meteor:外部更新数据库时出错:已更改的未知ID

时间:2015-02-06 10:10:19

标签: mongodb meteor

我有一个Android应用程序,可以将数据发送到我的Meteor应用程序并更新数据库。如果我从meteor mongo命令行检查mongo,则会保存新记录,但在浏览器控制台中我看到此错误:

Exception in queued task: Error: Unknown id for changed: wtoa4JGTjYsAiddEs
at Object.LocalCollection._CachingChangeObserver.self.applyChange.changed (http://localhost:3000/packages/minimongo.js?e8806aa7782b729b2517ebc0cd10b321667f1427:3809:13)
at http://localhost:3000/packages/minimongo.js?e8806aa7782b729b2517ebc0cd10b321667f1427:421:13
at _.extend.runTask (http://localhost:3000/packages/meteor.js?81e2f06cff198adaa81b3bc09fc4f3728b7370ec:692:11)
at _.extend.flush (http://localhost:3000/packages/meteor.js?81e2f06cff198adaa81b3bc09fc4f3728b7370ec:720:10)
at _.extend.drain (http://localhost:3000/packages/meteor.js?81e2f06cff198adaa81b3bc09fc4f3728b7370ec:728:12)
at LocalCollection.update (http://localhost:3000/packages/minimongo.js?e8806aa7782b729b2517ebc0cd10b321667f1427:779:22)
at Object.Mongo.Collection.self._connection.registerStore.update (http://localhost:3000/packages/mongo.js?052f30e968644b2b39a96605ffee73a7684ff37b:273:30)
at Object._.extend.registerStore._.each.store.(anonymous function) [as update] (http://localhost:3000/packages/ddp.js?41b62dcceb3ce0de6ca79c6aed088cccde6a44d8:3913:48)
at http://localhost:3000/packages/ddp.js?41b62dcceb3ce0de6ca79c6aed088cccde6a44d8:4663:19
at Array.forEach (native)

我无法看到模板中的变化。如果我刷新页面,则会显示所有新数据。

我不知道自己错过了什么......

PS:第一个问题,没有说英语的人。对不起,如果没有很好的解释。

编辑:发布就像在文档中一样。

Meteor.publish("bots", function () {
    return Bots.find();
  });

要在数据库中插入,我在服务器代码中使用Meteor.call(),使用Iron Route进行HTTP GET。

Router.route('/get', {where: 'server'})
  .get(function () {
    ...  ...

    Meteor.call("addBot", params);

    ... ...
  });

params在查询中。

EDIT2:

在我的模板中,我只订阅了该集合并使用帮助程序来获取所有字段。

Meteor.subscribe("bots"); 
... ...
Template.controlpanel.helpers({
  bots: function () {
    return Bots.find();   
  } 
});

html代码是:

<tbody>
  {{#each bots}}
  <tr>
    {{> bot}}
  </tr>
  {{/each}}
</tbody>

没有涉及其他路线且没有事件。

1 个答案:

答案 0 :(得分:0)

出现此错误的原因很可能是您将记录推送到数据库中,但在刷新浏览器之前,minimongo不了解它们。

如何将外部数据完全添加到monogdb?