【发布时间】:2014-07-19 10:21:07
【问题描述】:
我在 stackoverflow 上看到过类似的问题,但似乎找不到满意的答案。
我使用 MongooseJS 作为我的 ODM,我试图设置虚拟 getter,而不是查询、分析和返回来自不同集合的信息。
不幸的是,(由于 nodejs 的异步特性)我无法从回调函数中返回信息。有没有简单的方法来解决这个问题?
这是我的代码:
UserSchema.virtual('info').get(function () {
var data = {
a: 0,
b: 0
};
OtherSchema.find({}, function (err, results) {
results.forEach(function (result) {
if (result.open) {
data.a += 1
} else {
data.b += 1
}
});
return data; //return this information
})
});
任何帮助将不胜感激!
【问题讨论】:
-
还有另一种解决方案。让你的 virtual 成为一个接受回调的函数。
标签: javascript node.js mongodb callback mongoose