Nodejs Mongoose函数不会执行promise

时间:2017-04-07 21:47:43

标签: node.js mongoose

我有一个node.js脚本,其中我尝试做一些像执行Mongoose查询一样简单的事情,然后阅读promise fgets()中的响应

问题是无论我尝试什么,.then似乎永远不会发生。我做错了什么?

这是我的节点文件代码:

.then

当我做const WorkOrder = require('../models/WorkOrder'); let promise = WorkOrder.findOne({}).exec(); promise.then(result => { console.log('result', result); ); 时,我得到:

console.log(WorkOrder.findOne({}).exec())

这个类似的功能在应用程序的另一部分(使用redux)中使用了更多的东西,这只是一个超级简化的版本,只是为了看看我是否可以查询我的数据库,然后查看结果

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

exec不会返回承诺,查询会执行。

const WorkOrder = require('../models/WorkOrder');

let promise = WorkOrder.findOne({});

promise.then(result => {
  console.log('result', result);
});

promise.exec()执行您的查询并接收回调函数作为参数:

const WorkOrder = require('../models/WorkOrder');

let promise = WorkOrder.findOne({});

promise.exec((err, result) => {
    if(err) console.log("err", err);
    else console.log("result", result);
});