在mondoDb中打印查询的结果
我在MongoDb中有以下select查询。 我想要控制台logging查询的返回。
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" } ] }
你的callback越来越err
和result
,所以在成功的情况下,结果集应填充result
。
只要做console.log(JSON.stringify(result);
你现在打印的是jok
还有一件事我看到你的代码并不理想 – 你将结果返回给callback的方式并不是通常的做法。
通常的做法是首先传递错误,其次是结果,如果成功,错误应该是空(或错误)。
所以按照这个惯例,你可以通过错误的情况下:
return fcallback(err);
并在失败的情况下:
return fcallback(null, result);