Meteor MongoDB 集合无法访问 Meteor 发布



>我已将数据导入流星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集合?

  1. 在项目根目录中创建新database_dump.json

  2. 然后打开终端并将目录更改为项目根目录。例如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. 新蒙戈德系列

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

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

    // Client
    Meteor.subscribe("MyNewCollection");
    
  7. 与流星一起玩乐

最新更新