如何在MongoDB中重命名集合?

Zug*_*alt 53 collections rename mongodb

有没有一种简单的方法来重命名mongo中的集合?就像是:

db.originalCollectionName.rename('newCollectionName');
Run Code Online (Sandbox Code Playgroud)

如果没有,有效重命名的最佳方法是什么?

nav*_*nav 88

关.使用db.originalCollectionName.renameCollection('newCollectionName')

请参阅http://www.mongodb.org/display/DOCS/renameCollection+Command

  • 提示:尝试使用tab完成查找您认为可能存在的内容;) (4认同)

Ev0*_*0oD 7

对于那些无法重命名的人,因为名称会导致类似的问题:SyntaxError:意外的令牌ILLEGAL,这是因为该名称是非法的.

您可以使用括号表示法来解决此问题: db["oldCollectionILLEGALName"].renameCollection("someBetterName")


lak*_*dan 7

假设数据库名称为" mytestdb ",集合名称为" orders ".集合名称更改为orders2015最简单的方法是,

> use mytestdb
> db.orders.renameCollection( "orders2015" )
Run Code Online (Sandbox Code Playgroud)

注意:分片集合不支持db.collection.renameCollection().


ari*_*pen 6

如果您使用 Node.js MongoDB 驱动程序:

mongoClient.db(dbName).collection('oldName').rename("newName");
Run Code Online (Sandbox Code Playgroud)

https://mongodb.github.io/node-mongodb-native/3.5/api/Collection.html#rename

我的案例使用猫鼬:

await mongoose.connection.collection("oldName").rename("newName");
Run Code Online (Sandbox Code Playgroud)