renameCollection (Rename Collection)
Last updated: 2026-10-09
renameCollection (Rename Collection)
renameCollection renames a collection within or across databases and must run against the admin db (db.adminCommand). The rename moves the collection with its indexes and metadata; writes to it are briefly blocked. dropTarget: true overwrites an existing target (dangerous — data is deleted).
| Category | Admin Commands |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
db.adminCommand({
renameCollection: "<db>.<collection>",
to: "<db>.<new name>",
dropTarget: false
})
⚙️ Parameters
| renameCollection | Source collection as db.collection |
|---|---|
| to | Target as db.collection |
| dropTarget | Set true to overwrite an existing target; use with care |
Returns:Returns { ok: 1 } on success
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// renameCollection: rename a collection
db.adminCommand({
renameCollection: 'shop.orders_2025',
to: 'shop.orders'
})
Output:
{ ok: 1 }
📌 Notes
- Must run on the admin db with fully qualified names
- dropTarget: true deletes the target — handle with care
- Writes to the collection pause briefly during the rename
🏷️ Related Tags
💡 Related Cases
More hands-on cases coming soon.
📚 Related Tutorials
❓ FAQ
QCan renameCollection move collections across databases?
AYes — qualify both names as db.collection.
QDoes renaming lose data?
ANo, unless dropTarget: true overwrites an existing target.
QDo indexes survive a rename?
AYes — indexes move along with the data.