summaryrefslogtreecommitdiff
path: root/jstests/readonly/get_more.js
blob: 78112385c9283d7fd59f1f436d950ad091c2d7fb (plain)
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
30
31
32
33
34
load("jstests/readonly/lib/read_only_test.js");

runReadOnlyTest(function() {
    'use strict';
    return {
        name: 'get_more',
        count: 3000,
        load: function(writableCollection) {
            // Insert enough data that we need multiple batches to get it.
            var n = this.count;
            var bulkSize = 500;

            for (var i = 0; i < n / bulkSize; ++i) {
                var bulk = writableCollection.initializeUnorderedBulkOp();
                for (var j = 0; j < bulkSize; ++j) {
                    var idx = i * bulkSize + j;
                    bulk.insert({x: idx, y: idx + 1});
                }
                assert.commandWorked(bulk.execute());
            }
            assert.eq(writableCollection.count(), this.count);
        },
        exec: function(readableCollection) {
            var cursor = readableCollection.find();
            var count = 0;
            while (cursor.hasNext()) {
                ++count;
                var doc = cursor.next();
                assert.eq(doc.y, doc.x + 1);
            }
            assert.eq(count, this.count);
        }
    };
}());