javascript - 将 Promises 与 Mongoose 模型静态结合使用

标签 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 一起使用?

最佳答案

像这样返回 Mongoose 查询:

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

关于javascript - 将 Promises 与 Mongoose 模型静态结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43895150/

相关文章:

服务器上传后 JavaScript 不工作

node.js - 如何从 Mongoose 查询返回值

node.js - MongoDB - 使用 Mongoose 模式 - 如何告诉 Mongoose 不要保存特定字段

javascript - MongoDB 查询优化

javascript - 在javascript中获取父函数的变量

javascript - 如何将连接到外部数据库的外部 php 文件中的数据发送到我的扩展程序的 content-script.js?

Node.js mongoose 更新文档

javascript - 通过 JSON 向 mongoose 发送不区分大小写的正则表达式

javascript - 从 2 个不同的点击事件(带参数和不带参数)触发相同的函数

javascript - 从网站上抓取表格,使用 javascript :subOpen href link