Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs Mongoose函数不会执行承诺_Node.js_Mongoose - Fatal编程技术网

Node.js Nodejs Mongoose函数不会执行承诺

Node.js Nodejs Mongoose函数不会执行承诺,node.js,mongoose,Node.js,Mongoose,我有一个node.js脚本,在其中我试图做一些简单的事情,比如执行一个Mongoose查询,然后读取承诺中的响应 问题是,无论我尝试什么,这种情况似乎永远不会发生。我做错了什么 以下是我的节点文件代码: const WorkOrder = require('../models/WorkOrder'); let promise = WorkOrder.findOne({}).exec(); promise.then(result => { console.log('result',

我有一个node.js脚本,在其中我试图做一些简单的事情,比如执行一个Mongoose查询,然后读取承诺中的响应

问题是,无论我尝试什么,这种情况似乎永远不会发生。我做错了什么

以下是我的节点文件代码:

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

let promise = WorkOrder.findOne({}).exec();

promise.then(result => {
  console.log('result', result);
);
当我执行console.logWorkOrder.findOne{}.exec时,我得到:

应用程序的另一部分使用了一个类似的函数,它使用了redux,这是一个非常简单的版本,只是为了看看我是否可以查询我的数据库,然后查看结果


这是怎么回事?

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);
});

是的,这对我来说是有意义的,但是当我运行脚本时,我仍然没有看到任何控制台语句显示:/I我只是得到[nodemon]开始节点检查\u工作\u订单.js`[nodemon]干净退出-在重新启动之前等待更改`如果你从未调用mongoose.connect,可能会发生这种情况
const WorkOrder = require('../models/WorkOrder');

let promise = WorkOrder.findOne({});

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