>我已将数据导入流星mongodb数据库。这是我所做的:随着流星应用程序通过运行
$ 你的流星应用目录流星
在一个终端和另一个终端中启动MongoDB运行
$ 蒙戈德
启动另一个终端并运行以下命令将数据导入流星应用程序的数据库:
$ mongoimport -h 本地主机:3001 -d meteor -c collectionNameHere
但是,从 json 文件导入文档后,我发现我的 Meteor 应用程序无法访问该集合。 具体来说,当我尝试使用以下命令发布集合时:
Meteor.publish('collectionNameHere', function()
{return collectionNameHere.find();
});
我看到:
来自 sub ci9tk9AsFeyngHWwE 引用的异常:集合名称此处未定义 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(? 在_.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
我可以通过流星蒙戈看到 mongo 中的集合,并可以通过查找进行查询。我是否需要从应用程序而不是通过导入创建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
-
新蒙戈德系列
// Lib MyNewCollection = new Meteor.Collection('mynewcollection');
-
发布新集合。
// Server Meteor.publish("mynewcollection", function() { return MyNewCollection.find({}); });
-
订阅它
// Client Meteor.subscribe("MyNewCollection");
-
与流星一起玩乐