1
我想用戶節點代理自動神奇的讀/寫數據庫和我想不通的解決方案。 下面是代碼:節點代理和異步數據庫調用
var Proxy = typeof Proxy !== "undefined" ? Proxy : require("node-proxy");
var db = require('mongojs').connect('testdb',['colldb']);
function itemHandler(objid) {
var objid=objid;
return Proxy.create({
get: function(receiver, name) {
var name = name;
var hmmm;
//Problem Area!
db.colldb.findOne({"_id": db.ObjectId(objid)},function(err,doc){
hmmm = doc[name];
});
//Hmmm will obviously be undefined
return hmmm;
}
, set: function(receiver, name, val) {
// this can be async and I don't care :)
}
});
}
var test = itemHandler('4efc0c698b7e904ee982547f');
console.log(test.test);
process.exit(0);
通常我將是確定與回調,但我不能確定如何使關於「獲得」的方法節點代理回報的工作。 我正在尋找任何解決方案,我可以根據數據庫結果返回代理數據。
感謝
由於某些原因,我花了4個月的時間纔看到這個答案 - 我很感謝你看着這個 - 謝謝! – 2012-03-21 02:28:29