NodeJS:返回静态未定义的mongoose

时间:2014-04-16 22:16:11

标签: node.js mongoose

如何将以下内容作为我可以反复使用的函数返回:

pageSchema.statics.getData = function(d) {
    this.findOne({}, {}, { sort: { 'order' : -1 } }, function(err, page) {
        return page[d];
    });
};

这给了我未定义的。

我想用我的功能。我在哪里获得页面属性订单。

Page.getData('order');

哪一个可以是一个数字。

1 个答案:

答案 0 :(得分:1)

您无法从同步函数返回异步结果。您的函数需要有一个回调参数来将结果提供给调用者。

pageSchema.statics.getData = function(d, callback) {
    this.findOne({}, {}, { sort: { 'order' : -1 } }, function(err, page) {
        callback(page[d]);
    });
};

Page.getData('order', function(data) { ... });