thomas-squall / php7-mongo-driver
PHP7 MongoDB 驱动
0.7.4
2019-02-05 22:21 UTC
Requires
- php: ^7.0
- ext-mongodb: *
- thomas-squall/php-magic-annotations: ^0.9.0
Requires (Dev)
- phpunit/phpunit: ^6.5
README
随着PHP7的出现,旧的mongodb驱动不再受支持。
新驱动与旧驱动相比稍微低级一些,因此使用起来可能稍微复杂。
这就是这个库的构想。
!!! 详细指南请参考以下GitHub上的Wiki: https://github.com/ThomasSquall/PHP7MongoDriver/wiki
安装
使用composer非常简单,只需运行以下命令
$ composer require thomas-squall/php7-mongo-driver
先决条件
在开始使用此库之前,您应确保已安装PHP7.0或更高版本以及来自pecl的MongoDb驱动程序。
对于使用Linux发行版(请确保已安装pecl)的用户,只需运行
$ sudo pecl install mongodb
之后,您应该在php.ini中添加以下字符串
extension=mongodb.so
内
用法
首先,您需要定义一个连接字符串。
连接字符串的格式为
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
更多信息请参阅链接: https://docs.mongodb.com/manual/reference/connection-string/
定义后,您需要实例化一个新的Adapter
use MongoDriver\Adapter; // Enstablish a connection. $adapter = new Adapter(); $adapter->connect(CONNECTION_STRING);
此时,您想要选择一个数据库进行查询
$adapter->selectDB('myDatabase');
注意:您也可以在构造函数中直接选择数据库,将数据库名称作为第二个参数传递。
查找
选择数据库后,我们可以简单地查询我们想要的集合
$items = $adapter->find('myCollection');
您也可以过滤您的查询
use MongDriver\Filter; $filters = [ new Filter('myField1', 'myValue1', Filter::IS_EQUALS), new Filter('myField2', ['myValue2', 'myValue3'], Filters::IS_IN_ARRAY) ]; $items = $adapter->find('myCollection', $filters);
插入
如果您想插入一个项目,只需将数组或对象传递给insert函数,指定集合
$item = new Person(); $item->name = 'Thomas'; $item->surname = 'Cocchiara'); // or: $item = ['name' => 'Thomas', 'surname' => 'Cocchiara']; $adapter->insert('people', $item);
希望你们觉得这个库很有用。
请分享它,并给我一些反馈 :)
托马斯