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

时间:2018-10-13 15:55:16

标签: 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');

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

1 个答案:

答案 0 :(得分:4)

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

mongo-php-library由MongoDB正式支持。除非您决定自己开发一个定制的/优化的库,否则它的性能和功能就没有任何问题或担忧,除非您决定自己开发一个可能经过重新发明相同的轮子。

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