如何在MongoDB中重命名集合?

时间:2012-01-04 19:11:12

标签: mongodb collections rename

是否有一种简单的方法可以在mongo中重命名一个集合?类似的东西:

db.originalCollectionName.rename('newCollectionName');

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

5 个答案:

答案 0 :(得分:85)

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

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

答案 1 :(得分:7)

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

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

答案 2 :(得分:2)

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

mongoClient.db(dbName).collection('oldName').rename("newName");

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

我的情况是使用猫鼬:

await mongoose.connection.collection("oldName").rename("newName");

答案 3 :(得分:1)

在 cmd 中重命名集合:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.renameCollection("someBetterName")

这个例子是为 MongoDB 4.2 制作的

答案 4 :(得分:0)

您可以使用以下语法在MongoDB中重命名现有集合。

db.originalCollectionName.renameCollection('newCollectionName')

例如,如果您现有的集合名称为“ demo”,并想重命名为“ demo_updated”,则查询如下:-

db.demo.renameCollection('demo_updated')

谢谢!