2017-06-04 46 views
0

我的開發工作自動對焦的平均應用程序,我有一個奇怪的問題:蒙戈DB REST API返回八方通相同的條目

我已經創建了一個API,它使我的ID來獲得一個單一文件:

//Get Single Line 
router.get('/lines/:id', function(req, res, next){ 
    db.lines.findOne(
     { _id: mongojs.ObjectId(req.params.id)}, 
     function(err, line){ 
     if(err){ 
      res.send(err); 
     } 
     res.json(line); 
    }); 
}); 

現在,當我打電話http://localhost:3000/api/lines/593379eb0cbd3a4efcdc1875我得到了我期望:

{"_id":"593379eb0cbd3a4efcdc1875","name":... 

但是,當我提出這個項目到實時服務器,當我打電話http://mydomain/api/lines/593379eb0cbd3a4efcdc1875我拿到永諾在我的收藏中的第一個文件:

{"_id":"59337c480cbd3a4efcdc1876","name": 

即使我嘗試一些不存在的id - 我總是隻得到第一個文檔。 我真的不知道,這裏的probem是什麼......

回答

0

你試過調試代碼來找到正確的_id傳遞給控制器​​和查詢嗎?重新檢查與您的存儲庫相匹配的數據庫名稱和集合名稱,以用於本地和現場環境。

+0

謝謝您的回答!我已經檢查過是否傳遞了正確的_id,並且兩個環境(開發和實時)都連接到同一個數據庫。對於我看來,findOne函數出於某種原因返回集合中的第一個文檔 – Stanislav

+0

這是怎麼回事? 我無法找到任何線索。你可以嘗試{'_id':mongojs.ObjectId(req.params.id)}。 _id在引號內。只是試試..! –