2016-04-03 101 views
2

在我的MongoDB中,我有一個集合,我從服務器端創建並填充,名爲「fs.files」(它是一個gridFS集合)。從流星應用程序訪問現有的MongoDB集合

在我的流星應用程序中,是否有一種方法可以聲明一個全局變量,該變量只能從該數據庫獲取信息?

我試圖

PDFs = new Mongo.Collection("fs.files"); 

PDFs = new FS.Collection("fs.files", { 
    stores: [new FS.Store.FileSystem("fsfiles", {path: "./reports"})] 
}); 

當我做PDFs.find()他們都將返回一個空數組。取()

的問題是,我不希望創建一個新的集合。我只想訪問現有的數據庫,因爲我沒有從客戶端創建數據庫。

+0

你確定你的GridFS的集合千牛相同的數據庫?流星默認數據庫是'meteor',gridFS可能會將數據存儲在它自己的數據庫中。用'mongo localhost:3001/meteor'檢查mongo客戶端,看看你的其他收藏是否在那裏。 – MrE

回答

2

你的方法應該工作。您可能會忘記發佈服務器上的這個集合,並且在客戶端上訂閱

服務器:

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

客戶端:

Meteor.subscribe('myPDFs');