2015-12-30 61 views
0

我想在node-migrate的上下內使用mongoose
但是,對於簡單查找查詢的回調從未得到執行,例如MongoDB:使用Mongoose進行節點遷移查找回調永遠不會執行

我有一個現有的用戶模型(用戶收集與預先存在的文件)
這裏是我的了功能看起來像

exports.up = function(done) {  
    User.find().exec(function(err, 
    users) { 
    done(); //this never get executed?? 
    }); 
} 

更新: -
我甚至嘗試包裹裏面「連接查詢'事件處理程序(下) 但仍然沒有運氣。

mongoose.connection.on('connected', function() { 
    User.find().exec(function(err, users) { 
    done(); //this never get executed?? 
    }); 
}); 

回答

0

我想是因爲沒有你查詢的任何聲明,並簡單地添加{}爲讓所有的文件,你在你的查找查詢功能的錯誤。同時檢查exec回調中是否有錯誤。

exports.up = function(done) {  
    User.find({}).exec(function(err, users) { // In find method give empty object declaration for query 
    if(err){ 
     // check has any error here 
    } 
    done(); 
    }); 
} 
+0

試過,但同樣的問題。 – harrybvp

+0

你有沒有檢查過,有沒有錯誤?或者你有沒有調試過,它是否能夠正確地找到文檔,並運行exec回調函數?我認爲我們必須確定這些標準。你也可以試試find()。exec,找到({},yourcallbackfunc)。 –

+0

它不運行exec回調函數。我沒有錯誤。代碼只是掛起,因爲節點遷移期望done()方法被調用以發出從未得到執行(發出)的完成信號。我嘗試過查找({},yourcallbackfunc)以及.still相同的問題 – harrybvp