2016-02-29 69 views
0

我的教程以下找回空數組。從MongoDB的使用curl雖然數據庫充滿了數據

我創建了一個數據庫,並使用mongoimport進口JSON到它:mongoimport --db cmt2 --collection Course --type json --file myFile.json --jsonArray

我一直在使用宣佈我的數據庫:mongoose.connect('mongodb://localhost/cmt2');

當我蜷縮在我的服務器與NPM開始啓動它後:curl http://localhost:3000/courses我只得到的回報空數組([])。

但我確定我已經將數據導入到數據庫中,因爲當我到mongo shell並打開cmt2數據庫並使用db.Course.find()時,我找回所有數據。

我的課程獲取途徑也可能是正確的,因爲它的工作原理,當我定義另一個分貝我用來測試之前,我用CMT2:mongoose.connect('mongodb://localhost/cmt');

這大概收集了一些愚蠢的,我不明白,因爲我他們的名字隨機,我不知道在哪裏其實我聲明我想在我的代碼使用哪個集合。

供參考,在這裏是我用我的GET請求的代碼:

router.get('/courses', function(req, res, next) { 
    Course.find(function(err, courses){ 
    if(err){ return next(err); } 

    res.json(courses); 
    }); 
}); 

而且我在數據庫導入的JSON數據的一個例子:

{ 
     "code": "ABCD ", 
     "name": "ABCDE", 
     "list": [ 
      { 
       "code": "ABCDEF ", 
       "name": "ABCDEFG" 
      }, 
      { 
       "code": "BCDEF ", 
       "name": "BCDEFG" 
      }] 
} 

編輯:

cmt(我可以捲曲的數據庫)和cmt2(我不能捲曲的那個)之間的主要區別是我使用了帶有cmt的嵌入模型,並且沒有使用cmt2

+1

讓你的捲曲:'mongodb:// localhost:27017/cmt' 並給出一個空文檔作爲你的'find'方法的第一個參數。看看是否適合你。 –

回答

0

我被導入到了錯誤的本地主機。