【问题标题】:How to perform drop() using MongoDB drivers for php 7?如何使用 php 7 的 MongoDB 驱动程序执行 drop()?
【发布时间】:2016-02-16 07:47:43
【问题描述】:

如何使用 php 7 的 MongoDB 驱动程序执行 drop() 或 remove() 等功能?

我参考了 https://docs.mongodb.org/v3.0/reference/method/js-collection/

但是,我没有得到太多关于 PHongo(PHP 7 的 MongoDB 驱动程序)的文档。

提前谢谢你。

【问题讨论】:

标签: php mongodb


【解决方案1】:

你可以像这样删除一个集合:

$manager = new \MongoDB\Driver\Manager("mongodb://" . $username . ":" . $password . "@{$host}:{$port}");
$manager->executeCommand('database', new \MongoDB\Driver\Command(["drop" => "collection"]));

或者您可以按照this guide中的说明进行操作:

$db = (new MongoDB\Client)->demo;

$result = $db->dropCollection('users');
var_dump($result);

【讨论】:

  • 使用MongoDB\Driver 是错误的。除非您自己编写驱动程序,否则任何应用程序代码都不应该使用它。答案中的“本指南”链接实际上是唯一正确的部分。
  • @NeilLunn 我的印象是客户端已被弃用(请参阅php.net/manual/en/class.mongoclient.php),因此目前正在研究基于管理器的实现。你能解释一下你的评论吗?
  • @BartGloudemans 你有错误的印象,这是完全可以理解的,因为我个人多年来一直抱怨这个问题。您“认为”的东西在旧的mongo 驱动程序中已被弃用。在两个部分中使用船舶的实际驱动程序实现,这显然使很多人感到困惑。询问实际的维护者,他会一直指向php.net/manual/en/mongodb.overview.php,它显示“composer”安装部分是您需要使用的位。这就是上面的文档链接实际指向的内容。
  • @NeilLunn 谢谢!这澄清了很多
猜你喜欢
  • 2017-04-24
  • 1970-01-01
  • 2016-09-18
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 2017-05-23
  • 1970-01-01
相关资源
最近更新 更多