2016-03-08 17:08:37 -05:00
|
|
|
//
|
|
|
|
|
// Test dataSize command, when called on the same or different database
|
|
|
|
|
// than the collection being queried.
|
|
|
|
|
//
|
2010-04-28 13:20:26 -04:00
|
|
|
|
2016-03-08 17:08:37 -05:00
|
|
|
(function() {
|
2016-03-09 12:17:50 -05:00
|
|
|
"use strict";
|
2010-04-28 13:20:26 -04:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
var coll = db.foo;
|
|
|
|
|
var adminDB = db.getSiblingDB('admin');
|
|
|
|
|
coll.drop();
|
2010-04-28 13:20:26 -04:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
var N = 1000;
|
|
|
|
|
for (var i = 0; i < N; i++) {
|
|
|
|
|
coll.insert({_id: i, s: "asdasdasdasdasdasdasd"});
|
|
|
|
|
}
|
2010-04-28 13:20:26 -04:00
|
|
|
|
2016-05-28 17:55:12 -04:00
|
|
|
var dataSizeCommand =
|
|
|
|
|
{"dataSize": "test.foo", "keyPattern": {"_id": 1}, "min": {"_id": 0}, "max": {"_id": N}};
|
2010-04-28 13:20:26 -04:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
assert.eq(N,
|
|
|
|
|
db.runCommand(dataSizeCommand).numObjects,
|
|
|
|
|
"dataSize command on 'test.foo' failed when called on the 'test' DB.");
|
|
|
|
|
assert.eq(N,
|
|
|
|
|
adminDB.runCommand(dataSizeCommand).numObjects,
|
|
|
|
|
"dataSize command on 'test.foo' failed when called on the 'admin' DB.");
|
2010-04-28 13:20:26 -04:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
dataSizeCommand.maxObjects = 100;
|
|
|
|
|
assert.eq(101,
|
|
|
|
|
db.runCommand(dataSizeCommand).numObjects,
|
|
|
|
|
"dataSize command with max number of objects set failed on 'test' DB");
|
|
|
|
|
assert.eq(101,
|
|
|
|
|
db.runCommand(dataSizeCommand).numObjects,
|
|
|
|
|
"dataSize command with max number of objects set failed on 'admin' DB");
|
2016-03-08 17:08:37 -05:00
|
|
|
})();
|