javascript - Mongoose 查询返回错误,但错误是我正在寻找的结果

标签 javascript node.js mongodb express mongoose

在 Mongoose 中,当我调用以下代码时:

db.Person.find({}).then((err, author) => {
   if (err) {
     console.log("err",err);
   } else {
    console.log('author', author);
    }
  });

它返回一个错误,而不是我正在寻找的文档,并且该错误似乎是我正在寻找的文档。参见这里:enter image description here

为什么它会返回错误而不是实际的对象?我试图从返回的文档中访问属性。该对象存在于我的数据库中: enter image description here

最佳答案

根据文档:https://mongoosejs.com/docs/promises.html 您应该使用 query.exec() 来获得完整的 promise :

// `.exec()` gives you a fully-fledged promise
var promise = query.exec();

promise.then(function (doc) {
  // use doc
});

当你像 promise 一样使用它时,

.then((doc)=>console.log(doc))

doc 是实际文档,最终错误将出现在

.catch(err=>console.log(err))

关于javascript - Mongoose 查询返回错误,但错误是我正在寻找的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54845496/

相关文章:

html - 尝试覆盖输入区域中预先填充的数据

javascript - ES6 类属性文档

mongodb - Go/Mgo -> MongoDB 中的 []byte,不可寻址数组的 slice

javascript - 发送多个 HTTP 请求

javascript - 是否有一种现代/新的方式来使用 JavaScript 处理文件选择对话框?

javascript - slideup 一旦点击 slidedown div

javascript - 从 Vue.js 组件调用方法

node.js - 队列消费者中的 Nestjs Shell 命令

mongodb - Vagrant MongoDB 配置连接被拒绝

node.js "delete"的奇怪语法