我的 MongoDB 数据库名中有一个错别字,我想要重命名该数据库。
我可以像这样 复制 并删除...
db.copyDatabase('old_name', 'new_name');
use old_name
db.dropDatabase();
是否有重命名数据库的命令?
MongoshDeprecatedError:[COMMON-10003] copyDatabase()
已在MongoDB 4.0中弃用,因此已被移除。
没错,这看起来很混乱,其他答案似乎对我没有用 - 可能是因为工具进行了更改 - 或者是因为我使用的是旧版本。我一直尝试https://dev59.com/lWox5IYBdhLWcg3wcj54#63372970 直到它对我有用。
我在这里包含我的答案 - 只是为了下次可以参考。
我使用以下命令来转储存档:
mongodump --archive --db=mongodb+srv://$HOST/$OLD_DB > backup
我使用以下命令将其还原到新的数据库中:
mongorestore --nsInclude="$OLD_DB.*" --nsFrom='$OLD_DB.*' --nsTo='$NEW_DB.*' mongodb+srv://$HOST/$NEW_DB --archive=backup
请注意nsInclude、nsFrom和nsTo参数。
这是我的mongorestore和mongodump版本:
mongodump --version
mongodump version: 100.6.0
git version: 1d46e6e7021f2f5668763dba624e34bb39208cb0
Go version: go1.17.10
os: darwin
arch: amd64
compiler: gc
mongorestore --version
mongorestore version: 100.6.0
git version: 1d46e6e7021f2f5668763dba624e34bb39208cb0
Go version: go1.17.10
os: darwin
arch: amd64
compiler: gc
copyDatabase
命令也被弃用了。 - Sumit Ramteke