Sto tentando di eseguire un'aggregazione MongoDB e Nodejs, ma ho qualche difficoltà nell'esecuzione del progetto. Quando entro il seguente comando nella shell MongoDB:toArray undefined in NodeJS e MongoDB
db.data.aggregate([{$match: {}},{$group: {'_id': '$State', 'total': {'$sum': 1}} }]).toArray()
allora sto ottenendo i risultati attesi.
Tuttavia, quando uso il seguente piccolo programma Nodejs
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/weather', function(err, db) {
if(err) throw err;
console.log("Connected correctly to server");
var col=db.collection('data');
col.aggregate([{$match: {}},{$group: {'_id': '$State', 'total': {'$sum': 1}} }])
.toArray(function(err, result) {
if(err) throw err;
console.log(result);
});
db.close();
});
allora sto ottenendo il messaggio di errore: 'TypeError: Impossibile leggere la proprietà 'toArray' undefined'
Qualcuno potrebbe aiutarmi?
Molte grazie in anticipo, Andi
Il codice di cui sopra non mi dà il 'non può leggere errore proprietà di beni, ma non funziona perché la lettura è fatta in modo asincrono e _after_ la connessione è chiusa. Prova a rimuovere la riga 'db.close'. –