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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
// special db so that it can be run in parallel tests
var stddb = db;
var db = db.getSisterDB("profile3");
t = db.profile3;
t.drop();
profileCursor = function( query ) {
print( "----" );
query = query || {};
Object.extend( query, { user: username + "@" + db.getName() } );
return db.system.profile.find( query );
}
try {
username = "jstests_profile3_user";
db.addUser( username, "password", false, 1 );
db.auth( username, "password" );
db.setProfilingLevel(0);
db.system.profile.drop();
assert.eq( 0 , profileCursor().count() )
db.setProfilingLevel(2);
t.insert( { x : 1 } );
t.findOne( { x : 1 } );
t.find( { x : 1 } ).count();
t.update( { x : 1 }, {$inc:{a:1}} );
t.update( { x : 1 }, {$inc:{a:1}} );
t.update( { x : 0 }, {$inc:{a:1}} );
profileCursor().forEach( printjson )
db.setProfilingLevel(0);
assert.eq(profileCursor({nupdated: {$exists:1}}).count(), 3)
assert.eq(profileCursor({nupdated: 1}).count(), 2)
assert.eq(profileCursor({nupdated: 0}).count(), 1)
assert.eq(profileCursor({nmoved: 1}).count(), 1)
db.system.profile.drop();
}
finally {
db.setProfilingLevel(0);
db = stddb;
}
|