我正在关注Isaac Strack最近出版的《 Meteor.js JavaScript 框架入门》一书。这本书适用于 Meteor 0.5.0。我正在使用 0.5.4 版。
在本书中,您构建了一个应用程序,其中包含几个类别,您可以在其中插入数据以跟踪家居用品,以及它们可能被借给谁。我将应用程序部署到了流星子域,并且运行良好。它不会复制我的本地 MongoDB 错误。
我在第 5 章,我刚刚从应用程序中删除了自动发布,并指定了我的本地数据通道。
在本地,仅在“工具”类别下,当我尝试向该类别添加新项目时,我在浏览器控制台中收到此错误:
Exception while simulating the effect of invoking '/Lists/update' Error {} Error: Cannot apply $addToSet modifier to non-array
at Error (<anonymous>)
at LocalCollection._modifiers.$addToSet (http://localhost:3000/packages/minimongo/modify.js?e7f02f0df0bff9f0b97236f9548637b7ede1ac74:178:13)
at Function.LocalCollection._modify (http://localhost:3000/packages/minimongo/modify.js?e7f02f0df0bff9f0b97236f9548637b7ede1ac74:53:9)
at LocalCollection._modifyAndNotify (http://localhost:3000/packages/minimongo/minimongo.js?7f5131f0f3d86c8269a6e6db0e2467e28eff6422:474:19)
at LocalCollection.update (http://localhost:3000/packages/minimongo/minimongo.js?7f5131f0f3d86c8269a6e6db0e2467e28eff6422:444:12)
at m.(anonymous function) (http://localhost:3000/packages/mongo-livedata/collection.js?3ef9efcb8726ddf54f58384b2d8f226aaec8fd53:415:36)
at http://localhost:3000/packages/livedata/livedata_connection.js?367884963b120d457819216ff713b2586b266dde:540:25
at _.extend.withValue (http://localhost:3000/packages/meteor/dynamics_browser.js?46b8d1f1158040fcc2beb7906ec2f932871a398d:21:19)
at _.extend.apply (http://localhost:3000/packages/livedata/livedata_connection.js?367884963b120d457819216ff713b2586b266dde:539:47)
at Meteor.Collection.(anonymous function) [as update] (http://localhost:3000/packages/mongo-livedata/collection.js?3ef9efcb8726ddf54f58384b2d8f226aaec8fd53:266:23) logging.js:30
update failed: Internal server error logging.js:30
工具类别中已经有一项已在本教程前面提交。如果我在控制台lists.findOne({Category:"Tools"});
中输入,我会得到识别对象中项目的输出:
Object
Category: "Tools"
_id: "eaa681e1-83f2-49f2-a42b-c6d84e526270"
items: Object
LentTo: "Steve"
Name: "Linear Compression Wrench"
Owner: "me"
__proto__: Object
__proto__: Object
但是,屏幕输出为空白:
自然,我尝试重新启动流星服务器并关闭浏览器,但没有解决方案。我是 MongoDB 的新手,所以我不清楚在哪里可以理解是什么导致了这个问题,或者为什么。
您可以在此处查看该应用程序。你可以在我的GitHub 上查看代码。