2013-12-14 102 views
0

我在MongoLab上有一個數據庫。它有幾個集合。除一項工作外一個集合被稱爲「selectopts」。它有兩個文件。我可以清楚地看到這兩個文件。Mongo收集沒有.find方法

在我明確的代碼,我有...

var db = require('mongojs'); 
db.connect('mongodb://xxxx:[email protected]:53xxx/rednecks',['selectopts']); 


exports.selects = function (req, res) { 
    db.selectopts.find(function (err, s) { 
     if (err) return; 
     res.json(s); 
    }); 
}; 

它總是錯誤的db.selectopts.find...類型錯誤:無法調用未定義方法「發現」。這個完全相同的愚蠢簡單的代碼適用於其他四個集合。爲什麼只有這一個集合不會從MongoLab中返回?

我如此徹底難倒。

編輯...

嘗試db.collection( 'selectopts')。找到(...和得到這個錯誤......再次

enter image description here

編輯..

以下是MongoLab中selectopts集合中的兩個文檔。您是否看到文檔有問題?...

enter image description here

編輯×3 ...

這是正確的/工作蒙戈連接設置代碼...

var mongojs = require('mongojs'); 
var db = mongojs.connect(
    'xxx:[email protected]:53xxx/rednecks', 
); 

見的主要區別? (SMFH): - 使用/

回答

1

有時,當我在後,所以我不接受任何一個回覆的確切實際的答案,但不知你們總是避開我朝着答案。在這種情況下,這是程序員的愚蠢。我的代碼在路由js文件的頂部是錯誤的。你可以在這篇文章的頂部看到它是錯誤的。我編輯並添加了正確的語法,它神奇地使所有的工作。

爲了消除這種類型的重複/語法/非DRY笨拙的,我移動蒙戈連接線到一個單獨的文件database.js並要求它在所述路徑的文件的頂部。天才啊?!? :-D

「謝謝」×100的所有您的答覆!你總是讓我回到正軌:-)

0

連接以下樣式:

var MongoClient = require('mongodb').MongoClient; 
var db; 

MongoClient.connect(
    'mongodb://xxxx:[email protected]:53xxx/rednecks', 
    {auto_reconnect: true}, 
    function(e, database) 
{ 
    db = database; 
}); 


exports.selects = function (req, res) { 
    db.selectopts.find(function (err, s) { 
     if (err) return; 
     res.json(s); 
    }); 
};