0

我想知道从存储在网络服务器上的 PHP 文件运行 MongoDB 命令的方法。我要做的是从转储文件中导入数据库,然后在运行 MongoDB 服务的情况下调用外部 .jar 文件,该文件使用我刚刚导入的 MongoDB 文件,同时服务正在运行。我已经为 PHP 安装了 MongoDB 驱动程序(我正在 Windows 的 xampp 服务器上对此进行测试),但我找不到任何表明运行常用 MongoDB 命令的确切过程的示例(在我的例子中,'mongoexport') . 据我所知,MongoDB服务由以下人员发起:

$m = new MongoClient();
4

1 回答 1

0

您可能会将数据库命令与 MongoDB附带的二进制工具混淆。诸如mongoexportmongodump之类的工具不通过驱动程序执行。相反,它们是独立的 C++ 程序。

你当然可以通过 PHP 执行这些,但这样做需要通过诸如popen()之类的东西或诸如 Symfony 的Process 组件之类的库来执行二进制文件。如果你在 Windows 上运行 PHP,我会推荐 Symfony 组件,因为它有一些围绕 PHPpopen()界面的额外代码来提高 Windows 兼容性。

如果您想通过 PHP 执行数据库命令,则需要使用MongoDB::command(),除非该命令在 MongoDB 或 MongoCollection 对象上具有辅助方法(例如MongoCollection::aggregate())。

于 2013-04-08T21:54:54.930 回答