2012-07-18 22 views
0

我有一個簡單的方法如下寫入MongoDB數據庫。它使用Mongojs模塊。除了最後一行,一切看起來都很好。在控制檯中出現「TypeError:Can not call method'save'undefined」。問題是什麼?無法調用未定義的方法保存。 Mongojs

var db = require('mongojs').connect('mongodb://foo:[email protected]:10027/foobar'); 

var saveImage = function(file, usr) { 

    var imagesCollection = db.collection('Images'); 
    var Image = {}; 
    Image.imageFileName = file; 
    Image.user = usr; 
    Image.date = new Date(); 
    db.imagesCollection.save(Image); 

} 

exports.saveImage = saveImage; 
+1

嘗試將'db.imagesCollection.save(Image)'更改爲'imagesCollection.save(Image)'。 – 2012-07-18 05:17:32

+0

@alFReDNSH是的,這是問題所在。謝謝!我不能相信我錯過了這一點。如果您將評論作爲答案提交,我會接受它。 – hughesdan 2012-07-18 05:19:43

回答

2

嘗試改變db.imagesCollection.save(Image)imagesCollection.save(Image)

"TypeError: Cannot call method 'save' of undefined"表示在該行上有一個方法爲save的東西未定義。接下來嘗試使用console.log一些變量來了解問題出在哪裏。

0

錯誤告訴你,db是一個對象,不包含imagesCollection的定義。

db.imagesCollection.save(Image);

在上面加上調試器 db.imagesCollection.save(Image);

您將能夠看到imagesCollection目前不是數據庫的屬性。

相關問題