thomas-squall/php7-mongo-driver

PHP7 MongoDB 驱动

0.7.4 2019-02-05 22:21 UTC

This package is auto-updated.

Last update: 2024-09-06 11:19:08 UTC


README

Latest Stable Version Build Status Coverage Status codecov Total Downloads License

随着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);

希望你们觉得这个库很有用。

请分享它,并给我一些反馈 :)

托马斯