#node.js #mongodb #aggregate #pipeline
Вопрос:
Я пишу запрос на объединение mongodb в nodejs. Я изо всех сил старался понять это, но коды не будут работать в моем методе. Как распечатать полный вывод запроса в консоли
const { MongoClient, ObjectId } = require('mongodb');
async function main(){
const uri = `mongodb://${dbUser}:${dbPassword}@${ipAddress}:${port}/${dbName}`;
const client = new MongoClient(uri);
try {
await client.connect();
await printStudents(client,"541516516165164489d3aee");
} finally {
await client.close();
}
}
main().catch(console.error);
/**
* Print the students for a given schoolId
* @param {MongoClient} client A MongoClient that is connected to a cluster with the education database
* @param {ObjectId} schoolId
*/
async function printStudents(client,schoolId){
const pipeline = [
{
'$match' : { '_id' : ObjectId(schoolId) }
},
{
'$project':
{
'_id': { '$toString': '$_id'}
}
},
{
'$lookup':
{
'from': 'students',
'localField': '_id',
'foreignField': 'schools',
'as': 'Students'
}
}
];
const docs = client.db("education").collection("schools").aggregate(pipeline).toArray();
console.log(docs);
}
Я надеюсь, что получу несколько хороших советов о том, как правильно решить эту проблему. 🙂
Комментарии:
1. Попробуйте
await
просмотреть результат агрегирования перед печатью.2. Пожалуйста, покажите нам ваши результаты.