Meteor MongoDB集合无法访问meteor发布
我已经将数据导入到meteormongodb数据库。 这是我所做的:随着meteor应用程序运行通过
$ yourMeteorAppDirmeteor
在一个terminal和另一个terminal启动mongodb运行通过
$ mongod
启动另一个terminal,运行以下命令,将数据导入meteor应用程序的数据库:
$ mongoimport -h localhost:3001 -d meteor -c collectionNameHere <jsonFileNameHere.json
但是,从JSON文件导入文件后,我发现该集合没有被我的Meteor应用程序访问。 具体来说,当我试图发布collections:
Meteor.publish('collectionNameHere', function() {return collectionNameHere.find(); });
我看到:
从子ci9tk9AsFeyngHWwE引用exception:collectionNameHere未定义I20141203-07:15:18.436(-5)? 在null._handler(app / server / collectionName.js:9:14)I20141203-07:15:18.436(-5)? 在maybeAuditArgumentChecks(packages / ddp / livedata_server.js:1599)I20141203-07:15:18.436(-5)? 在_.extend._runHandler(packages / ddp / livedata_server.js:943)I20141203-07:15:18.437(-5)? at _.extend._startSubscription(packages / ddp / livedata_server.js:769)I20141203-07:15:18.437(-5)? at _.extend.protocol_handlers.sub(packages / ddp / livedata_server.js:582)I20141203-07:15:18.437(-5)? 在packages / ddp / livedata_server.js:546
我可以通过meteor蒙戈在蒙戈中看到这个集合,并可以通过查找来查询。 我是否需要从应用程序创buildMongoDB集合,而不是通过导入?
-
在您的项目根目录中创build一个新的
database_dump.json
。 -
然后打开您的terminal,并将目录切换到您的项目根目录。 例如
cd /var/www/html/meteor/myapp/
。 -
mongoimport --db meteor --collection mynewcollection --type json --headerline --file '/var/www/html/meteor/myapp/database_dump.json' -h 127.0.0.1:3001 --jsonArray
-
新的Mongodbcollections
// Lib MyNewCollection = new Meteor.Collection('mynewcollection');
-
发布您的新集合。
// Server Meteor.publish("mynewcollection", function() { return MyNewCollection.find({}); });
-
订阅它
// Client Meteor.subscribe("MyNewCollection");
-
与meteor玩得开心