Próbuję uruchomić agregację MongoDB i Nodejs, ale mam pewne trudności w uruchomieniu projektu. Kiedy wprowadź następujące polecenie w powłoce MongoDB:toArray undefined w NodeJS i MongoDB
db.data.aggregate([{$match: {}},{$group: {'_id': '$State', 'total': {'$sum': 1}} }]).toArray()
następnie otrzymuję spodziewanych rezultatów.
Jednak, kiedy użyć następującego trochę Nodejs programu
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();
});
następnie otrzymuję komunikat o błędzie: „TypeError: nie można odczytać właściwość«ToArray»undefined”
Czy ktoś mógłby mi pomóc?
Wiele z góry dzięki Andi
Powyższy kod nie daje mi 'nie może odczytać property' błąd, ale to nie będzie działać, ponieważ odczyt odbywa się asynchronicznie i _after_ połączenie zostanie zamknięte. Spróbuj usunąć linię 'db.close'. –