There is no way to rename a sharded collection. You can copy all the docs to a new collection. Or create multiple collections based on a weekly/period date, and use as the current one. Then have your application always use the current one by name and change the name at each period break. 可以CTAS 为另一个collection 例如 db.orders.find({ 条件: 1 }). forEach( function(i) { i.ts_imported = new Date(); db.orders1.insert(i); }); db.orders.find().forEach( function(i) { i.ts_imported = new Date(); db.orders1.insert(i); });