1
admin = db.getMongo().getDB( "admin" );
3
a = db.jstests_rename_a;
4
b = db.jstests_rename_b;
5
c = db.jstests_rename_c;
13
a.ensureIndex( {a:1} );
14
a.ensureIndex( {b:1} );
17
assert.commandFailed( admin.runCommand( {renameCollection:"test.jstests_rename_a", to:"test.jstests_rename_c"} ) );
19
assert.commandWorked( admin.runCommand( {renameCollection:"test.jstests_rename_a", to:"test.jstests_rename_b"} ) );
20
assert.eq( 0, a.find().count() );
22
assert.eq( 2, b.find().count() );
23
assert( db.system.namespaces.findOne( {name:"test.jstests_rename_b" } ) );
24
assert( !db.system.namespaces.findOne( {name:"test.jstests_rename_a" } ) );
25
assert.eq( 3, db.system.indexes.find( {ns:"test.jstests_rename_b"} ).count() );
26
assert( b.find( {a:1} ).explain().cursor.match( /^BtreeCursor/ ) );
28
// now try renaming a capped collection
34
db.createCollection( "jstests_rename_a", {capped:true,size:100} );
35
for( i = 0; i < 10; ++i ) {
38
assert.commandWorked( admin.runCommand( {renameCollection:"test.jstests_rename_a", to:"test.jstests_rename_b"} ) );
39
assert.eq( 1, b.count( {i:9} ) );
40
for( i = 10; i < 20; ++i ) {
43
assert.eq( 0, b.count( {i:9} ) );
44
assert.eq( 1, b.count( {i:19} ) );
46
assert( db.system.namespaces.findOne( {name:"test.jstests_rename_b" } ) );
47
assert( !db.system.namespaces.findOne( {name:"test.jstests_rename_a" } ) );
48
assert.eq( true, db.system.namespaces.findOne( {name:"test.jstests_rename_b"} ).options.capped );