mongo-php-library和MongoDB驱动程序有什么区别

Tom*_*Tom 1 php mongodb

mongo-php-library和MongoDB驱动程序有什么区别?它们在性能和功能方面有何不同?优缺点都有什么?

我们目前在生产中使用“ mongo-php-library”,如下所示:

$connection = (new MongoDB\Client("mongodb://user:password@mongo:27017"));

$client = $connection->selectDatabase("the_database");

$collection_users = $client->selectCollection('users');
Run Code Online (Sandbox Code Playgroud)

像这样连接到数据库是否有任何弊端?

anh*_*hlc 5

mongo-php-library(用PHP编写)是围绕较低级MongoDB PHP驱动程序(mongodb扩展)的高级抽象。MongoDB驱动程序mongodb用C编写,仅提供用于核心驱动程序功能的最小API:命令,查询,写入,连接管理和BSON序列化。因此,PHP开发人员将需要mongo-php-library以提供易于使用的更高级别的API,例如查询生成器,单个命令帮助器方法和GridFS。

mongo-php-library由MongoDB正式支持。除非您决定自己开发一个定制的/优化的库,否则它的性能和功能就没有任何问题或担心,因为它是唯一的选择,而这最终可能会导致重新发明同一个轮子。

以前,旧版MongoDB PHP驱动程序提供了高级API,但是MongoDB决定用当前的mongodb扩展取代它,因此旧版驱动程序最多仅支持PHP 5.6和MongoDB 3.0。原因尚不清楚,但我们猜测MongoDB希望将MongoDB PHP驱动程序保持在较低的级别,并在此基础上开发一个PHP库,以促进其对PHP 7和后续PHP升级的支持。