2012-04-02 59 views
0

我正在使用mongoskin nodejs插件與mongodb進行通信。但問題是所有mongoskin API方法都是異步的,我正在使用同步nodejs服務器(使用express)來爲網頁提供服務。我如何完成這樣的事情:如何使用mongoskin爲查詢結果提供頁面

server.get('/woofs', function(req, res) { 
    var ret; 
    woofDb.find().toArray(function(err, i) { 
    //do something with each i to construct ret 
    }); 
    res.end(ret); 
}); 

回答

2

答案是不要嘗試使用同步node.js服務器。它完全違背了使用node.js的目的,並且越早認識到您的node.js體驗會更愉快。話雖如此,下面的代碼應該讓你非常接近你想要做的事情。

server.get('/woofs', function(req, res) { 
    woofDb.find().toArray(function(err, i) { 
     var ret; 
     //do something with each i to construct ret 
     res.end(ret); 
    }); 
}); 
+0

那我該用什麼?我是否應該繼續使用mongoskin並改變服務器的工作方式,或者繼續使用express並使用其他mongo適配器?哪個更好?我個人比mongoskin表達更多,所以mongo適配器是同步的,我可以使用express - mongodb-native不是很好,貓鼬也不是同步的... – pathikrit 2012-04-03 03:01:22

+0

我的答案中的示例不同步。默認情況下,表達式就像非常多的node.js庫一樣是非阻塞的。沒有理由不能使用express和mongoskin。 – 2012-04-03 03:26:30

相關問題