PHP MongoDB

旧的MongoDB官方php扩展mongo已经停止支持,新的php扩展为mongodb。

关于mongodb扩展的安装见php-MongoDB驱动安装

连接数据库

$db = new \MongoDB\Driver\Manager('mongodb://username:password@server:port/db')

查询

$filter = array('field name' => 'string'/int/float);

查询条件需匹配变量类型,如果使用objectId查找,则需要使用bson来生成objectId

$id = new \MongoDB\BSON\ObjectID('000000000000')
$filter = array('_id' => $id);

$options包括列筛选,排序等,也是一个数组。

$options = array(
    'projection' => array(
    '_id' => 1,
    'field' => 1,
    'field.field' => 1
    ),
);

$query = new \MongoDB\Driver\Query($filter,$options);

$cursor = $db->executeQuery('dbname.collection',$query);

取得查询的文档的_id有两种方法,如下:

  • 使用mongodb BSON类中的ObjectId方法,用法如下

(string) new \MongoDB\BSON\ObjectId($cursor->_id);

  • 使用php魔术方法__toString()

$cursor->_id->__toString()