簡體   English   中英

流星無法訪問Meteor MongoDB集合

[英]Meteor MongoDB Collection Not Accessible to Meteor publish

我已將數據導入流星mongodb數據庫。 這是我所做的:通過運行流星應用程序

$ yourMeteorAppDir流星

在一個終端和另一個終端中,通過啟動mongodb運行

$ mongod

啟動另一個終端,然后運行以下命令,使用以下命令將數據導入流星應用程序的數據庫:

$ mongoimport -h本地主機:3001 -d流星-c collectionNameHere <jsonFileNameHere.json

但是,從json文件導入文檔后,我發現我的Meteor應用程序未訪問該集合。 具體來說,當我嘗試通過以下方式發布收藏集時:

Meteor.publish('collectionNameHere', function() 
   {return collectionNameHere.find();
});

我看到了:

子ci9tk9AsFeyngHWwE ReferenceError的異常:collectionNameHere not defined I20141203-07:15:18.436(-5)? 在null._handler(app / server / collectionName.js:9:14)I20141203-07:15:18.436(-5)? 在mayAuditArgumentChecks(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)? 在_.extend._startSubscription(packages / ddp / livedata_server.js:769)I20141203-07:15:18.437(-5)? 在_.extend.protocol_handlers.sub(packages / ddp / livedata_server.js:582)I20141203-07:15:18.437(-5)? 在package / ddp / livedata_server.js:546

我可以通過流星mongo在mongo中查看該集合,並可以通過find查詢它。 我需要從應用程序而不是通過導入創建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. 新的Mongodb集合

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

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

     // Client Meteor.subscribe("MyNewCollection"); 
  7. 與流星玩得開心

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM