2011-11-29 69 views
1

我想執行查詢查詢MongoDB以檢查特定條目是否在數據庫中。但它調用了一個異步的回調函數。我怎樣才能得到結果?使用Node.js和MongoDB的同步數據庫訪問

在這我沒有得到實際結果同步。

+0

你能發佈的示例代碼?你是直接使用node.js MongoDB驅動程序嗎?或者你正在使用類似Mongoose的東西? –

回答

4

如果你使用Node.js,你應該以異步的方式來完成它。

例子:

db_call(query, function (err, result) { 
    if (err) { throw new Error('db_error'); return; } 
    console.log(result); // do your stuff here 
}); 
+0

我使用相同的方式,如:function authenticateUser(msg){0} {0} {0} var result = true; db.open(function(error,client){ if(error)throw error; var collection = new mongodb.Collection(client,'users'); collection.find({'key':msg})。指定者(函數(ERR,文檔){ log.info(docs.length);! \t如果(docs.length = 1) \t結果= FALSE; }); }); 返回結果; }在這種情況下,當我調用此身份驗證方法時,我沒有收到結果值。因爲我們不知道什麼時候會發起回調。 – Shilpi

+1

發佈代碼的正確位置應在原始問題中,而不是在評論部分。如果有很多代碼可以使用https://gist.github.com/。 –