gpt4 book ai didi

php - 既然 copydb 已弃用,如何使用 PHP 复制 MongoDB 数据库

转载 作者:行者123 更新时间:2023-12-02 00:52:05 28 4
gpt4 key购买 nike

在 MongoDB 版本 4.2 中,copydb 及其 copyDatabase 包装器已被弃用。 MongoDB 手册建议我们现在应该使用 mongodumpmongorestore。但我使用 PHP MongoDB 驱动程序从 PHP 调用复制命令,而转储和恢复命令是需要从命令行运行的命令,并且没有任何 PHP 等效命令。现在如何使用 PHP 复制数据库?

最佳答案

您也可以使用“mongodump”和“mongorestore”,正如您提到的那样。在 PHP 中,您可以使用 shell_exec 来运行命令。例如:

$backUpCommand = "mongodump --archive='/tmp/mongodump-dev-db' --db=dev";
shell_exec($backUpCommand);

$restoreCommand = "mongorestore --archive='/tmp/mongodump-dev-db' --db=test --nsFrom='test.*' --nsTo='examples.*'";
shell_exec($restoreCommand);

请注意 nsFrom 和 nsTo 将在需要时重命名命名空间。查看更多详情here

如果您想将转储复制到另一台主机,请尝试组合 mongorestore 的 --host 参数。因此,在这种情况下,您的恢复命令将是:

$restoreCommand = "mongorestore --host=mongodb1.example.net --port=27017 --username=user --password=$PSWD --authenticationDatabase=admin --archive='/tmp/mongodump-dev-db' --db=test";
shell_exec($restoreCommand);

关于php - 既然 copydb 已弃用,如何使用 PHP 复制 MongoDB 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58800897/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com