gpt4 book ai didi

node.js - 在 mongoDb 中打印查询结果

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:32 24 4
gpt4 key购买 nike

我在 MongoDb 中有以下选择查询。我想控制台记录查询的返回。

student.findCourses = (fcallback) => {
global.db.collection('students').find(({}, { "courses.courseName": true, _id: false }).toArray, (err, result) => {

if (err) {
var jError = { "status": "error", "message": "ERROR -> student.js -> 001" }
console.log(jError)
return fcallback(true, jError)
}
var jOk = { "status": "ok", "message": "student.js -> found -> 000" }
var jResult = ????
console.log(jOk)
return fcallback(false, jOk)

})
}

我只是想在 console.log 中看到以下内容。而不是通过手动定义它。我希望它直接来自数据库。

有办法做到这一点吗?

   {
"courses": [
{
"courseName": "Web-development"
},
{
"courseName": "Databases"
},
{
"courseName": "Databases"
}
]
}

最佳答案

您的回调正在获取 errresult,因此如果成功,结果集应填充到 result

只需执行 console.log(JSON.stringify(result); 即可打印 jok

我发现您的代码中还有一件事并不理想 - 将结果返回给回调的方式与通常的方式不同。
常见的做法是先传递错误,然后传递结果,如果成功,err 应该为 null(或 false)。
因此,遵循此约定,如果出现错误,您可以通过:

return fcallback(err); 

如果失败:

return fcallback(null, result);

关于node.js - 在 mongoDb 中打印查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47126437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com