使用Mongoose模型静态的Promises

时间:2017-05-10 14:17:20

标签: javascript mongoose

我有一段代码可以找到数字字段值最高的记录''ordinal':

Job.find({}).sort({'ordinal': -1}).limit(1).then(maxOrd => {
    console.log(`Found MaxOrd: ${maxOrd}`);
});

这很好用。现在我想使它成为Job模式的静态方法。所以我试过了:

JobSchema.statics.findMaxOrdinal = function(callback) {
    Job.find({}, callback).sort({'ordinal': -1}).limit(1);

};

...和

Job.findMaxOrdinal().then(maxOrd => {
    console.log(`Found Max Ord using Promise: ${maxOrd}`);
});

但是这不起作用,并且在堆栈跟踪非常无用的情况下崩溃。

如何编写静态以便我可以将它与Promise一起使用?

1 个答案:

答案 0 :(得分:5)

只需返回像这样的mongoose查询:

url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/rrsets/$', RRsetsDetail.as_view(), name='rrsets'),
url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/rrsets/(?P<type>[A-Z]+)/$', RRsetsDetail.as_view(), name='rrsets-type'),