I've a simple method which fetches some data from MongoDB:
import 'package:mongo_dart/mongo_dart.dart';
Future find() {
return _db.open().then((_) {
return _db.collection('foo').find().toList();
}).then((val) {
_db.close();
return val;
});
}
It's working if I'm calling this method once. Calling it twice in a row results in a NoSuchMethodError: method not found: 'query'
.
Could anyone explain the problem?
Here is the full stacktrace:
Uncaught Error: The null object does not have a method 'query'.
NoSuchMethodError: method not found: 'query'
Receiver: null
Arguments: [Instance of 'MongoQueryMessage']
Stack Trace:
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#1 Db.queryMessage (package:mongo_dart/src/database/db.dart:174:28)
#2 Cursor.nextObject (package:mongo_dart/src/database/cursor.dart:68:29)
#3 Cursor._nextEach (package:mongo_dart/src/database/cursor.dart:102:15)
#4 Cursor.forEach (package:mongo_dart/src/database/cursor.dart:122:14)
#5 Cursor.toList (package:mongo_dart/src/database/cursor.dart:128:24)
#6 DbConnection.find.<anonymous closure> (package:schafkopfer_server/src/schafkopfer/data.dart:49:52)
#7 _rootRunUnary (dart:async/zone.dart:730)
#8 _RootZone.runUnary (dart:async/zone.dart:864)
#9 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:488)
#10 _Future._propagateToListeners (dart:async/future_impl.dart:571)
#11 _Future._complete (dart:async/future_impl.dart:317)
#12 Future.forEach.nextElement (dart:async/future.dart:303)
#13 _rootRunUnary (dart:async/zone.dart:730)
#14 _RootZone.runUnary (dart:async/zone.dart:864)
#15 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:488)
#16 _Future._propagateToListeners (dart:async/future_impl.dart:571)
#17 _Future._completeWithValue (dart:async/future_impl.dart:331)
#18 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:393)
#19 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:23)
#20 _asyncRunCallback (dart:async/schedule_microtask.dart:32)
#21 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:128)
I opened a issue for mongo_dart.