2017-07-17 137 views
0

我試圖在我的Meteor應用程序和我的MongoDB Atlas數據庫之間建立連接。流星 - 未捕獲錯誤:找不到模塊'mongodb'

我的JavaScript以下位:

var MongoClient = require('mongodb').MongoClient, format = require('util').format;     
MongoClient.connect('<MyMongoURL>', function (err, db) { 
if (err) { 
    throw err; 
} else { 
    console.log("successfully connected to the database"); 

    db.collection('largeTreeMap', function(err, docs) { 
    // Check for error 
    if(err) return console.log(err); 
    // Walk through the cursor 
    docs.find().each(function(err, doc) { 
     // Check for error 
     if(err) return console.err; 
     // Log document 
     console.log(doc); 
    }) 
}); 

} 
db.close();  }); 

我加入這一個空白文檔JS所謂test.js並在運行

node test.js 

在我的命令行,它返回成功消息和數據:

Success

所以現在我知道連接可以建立,我將代碼添加到我的Meteor項目中。我創建了一個基本的按鈕,並點擊連接到MongoDB應完成。

然而,代替我收到以下控制檯錯誤:

Error

我從閱讀各種協議棧的問題,這是在項目目錄中沒有運行npm install mongodb的結果明白了。不過,我已經試過這樣做的,終端的回報:

Error 2

是否有任何身體知道爲什麼MongoDB是無法安裝和阻止我連接到MongoDB的在我的應用程序?

任何幫助將不勝感激,

非常感謝,

+0

meteor在內部使用自己的mongodb版本。也許這導致了這個問題。 – error404

回答

1

你試圖從客戶,這可能不是你想要的東西連接到蒙戈實例。

mongodb NPM包只支持Node.js的,在瀏覽器的JavaScript不,因爲你可以從這個線在其package.json

"engines": { 
    "node": ">=0.10.3" 
}, 

在此工作的情況下,您正在使用節點運行它看到的。

您可能想要做的是將MONGO_URL環境變量設置爲Mongo Atlas實例,並將連接/更新的實現留給Meteor本身。

+0

謝謝你的回答 - 你知道在settings.json文件中設置MONGO_URL是否足以連接? – GeorgeBT

+1

不,它們是不同的東西 - 您在settings.json中設置的設置通過Meteor.settings訪問,這與通過process.env訪問的環境變量不同。 – d4nyll

相關問題