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