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集合,而不是通过导入?

  1. 在您的项目根目录中创build一个新的database_dump.json

  2. 然后打开您的terminal,并将目录切换到您的项目根目录。 例如cd /var/www/html/meteor/myapp/

  3. mongoimport --db meteor --collection mynewcollection --type json --headerline --file '/var/www/html/meteor/myapp/database_dump.json' -h 127.0.0.1:3001 --jsonArray

  4. 新的Mongodbcollections

     // Lib MyNewCollection = new Meteor.Collection('mynewcollection'); 
  5. 发布您的新集合。

     // Server Meteor.publish("mynewcollection", function() { return MyNewCollection.find({}); }); 
  6. 订阅它

     // Client Meteor.subscribe("MyNewCollection"); 
  7. 与meteor玩得开心