最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

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

IT培训 admin 2浏览 0评论

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

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

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

它返回一个错误,而不是我正在寻找的文件,错误似乎是我正在寻找的文件。见这里:

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

回答如下:

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

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

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

当你像承诺一样使用它时

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

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

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

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

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

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

它返回一个错误,而不是我正在寻找的文件,错误似乎是我正在寻找的文件。见这里:

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

回答如下:

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

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

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

当你像承诺一样使用它时

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

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

.catch(err=>console.log(err))
发布评论

评论列表 (0)

  1. 暂无评论