MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

TypeError :l'objet n'est pas une fonction lors de l'utilisation de MongoDB avec Node.js

Le dernier argument de collection.aggregate() doit être un rappel. Le pilote mongodb attend une fonction mais votre dernier argument est un objet. C'est pourquoi vous obtenez cette erreur. Voici le code révisé avec le rappel :

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();
    }
  );
});