我有一个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>
没有涉及其他路线且没有事件。
答案 0 :(得分:0)
出现此错误的原因很可能是您将记录推送到数据库中,但在刷新浏览器之前,minimongo不了解它们。
如何将外部数据完全添加到monogdb?