Posledním argumentem collection.aggregate() musí být zpětné volání. Ovladač mongodb očekává funkci, ale váš poslední argument je objekt. Proto se vám zobrazuje tato chyba. Zde je revidovaný kód se zpětným voláním:
var MongoClient = require('mongodb').MongoClient;
var server = require('mongodb').Server;
var mongoclient = new MongoClient(new server("localhost", 27017));
mongoclient.connect("mongodb://localhost:27017/", function(err, db) {
if (err) throw err;
var db = mongoclient.db('school');
cursor = db.collection('students').aggregate(
[
{$match: {"scores.type": "homework"}},
{$unwind: "$scores"},
{
$group: {
_id: '$name',
'minimum': {$min: "$scores.score"}
}
}
], function(err, result) { // callback
console.dir(result);
db.close();
}
);
});