Meteor MongoDB Collection Meteor无法发布发布
我已将数据导入流星mongodb数据库。下面是我做的: 随着流星应用程序通过Meteor MongoDB Collection Meteor无法发布发布
$ yourMeteorAppDir meteor
在一个终端和另一个终端启动MongoDB的运行通过
$ mongod
启动运行另一个终端,运行下面的数据导入到你的流星应用程序的数据库与:
$ mongoimport -h localhost:3001 -d meteor -c collectionNameHere < jsonFileNameHere.json
但是,从json文件导入文件后,我发现集合不是访问我的Meteor应用程序。具体而言,当我试图与发布的集合:
Meteor.publish('collectionNameHere', function()
{return collectionNameHere.find();
});
我看到:
Exception from sub ci9tk9AsFeyngHWwE ReferenceError: collectionNameHere is not defined I20141203-07:15:18.436(-5)? at null._handler (app/server/collectionName.js:9:14) I20141203-07:15:18.436(-5)? at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1599) I20141203-07:15:18.436(-5)? at _.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)? at packages/ddp/livedata_server.js:546
我可以通过流星蒙戈看到蒙戈集合,可以通过查找查询。我是否需要从应用程序创建MongoDB集合,而不是通过导入?
建立在你的项目根目录下的新
database_dump.json
。然后打开您的终端并将目录切换到您的项目根目录。例如
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
-
新的MongoDB集合
// Lib MyNewCollection = new Meteor.Collection('mynewcollection');
-
发布您的新的集合。
// Server Meteor.publish("mynewcollection", function() { return MyNewCollection.find({}); });
-
订阅它
// Client Meteor.subscribe("MyNewCollection");
有乐趣与流星
你需要一个'collectionNameHere =新meteor.Collection( 'collectionNameHere')'的地方提供给客户端都和服务器。 – user3557327 2014-12-04 21:48:10
感谢user3557327。我确实在我的:lib/collections/collectionName.js文件夹中有这个 – m2web 2014-12-04 21:49:58
我可能需要更改返回collectionNameHere.find()以返回collectionNameHere.find({}); – m2web 2014-12-04 21:56:28