1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
t = db.jstests_drop3;
sub = t.sub;
t.drop();
sub.drop();
for (var i = 0; i < 10; i++){
t.insert({});
sub.insert({});
}
var cursor = t.find().batchSize(2);
var subcursor = sub.find().batchSize(2);
cursor.next();
subcursor.next();
assert.eq( cursor.objsLeftInBatch(), 1 );
assert.eq( subcursor.objsLeftInBatch(), 1 );
t.drop(); // should invalidate cursor, but not subcursor
db.getLastError();
assert.throws( function(){ cursor.itcount() } ); // throws "cursor doesn't exist on server" error on getMore
assert.eq( subcursor.itcount(), 9 ); //one already seen
|