PHP连接操作MongoDB

MongoDB可以做什么?

  1. 大键值对
  2. 文件
  3. 全文检索

所以可以用MongoDB来存储和检索文本数据。

PHP连接操作MongoDB推荐使用 MongoDB PHP Library,需要先安装相应版本的mongodb扩展。

参考资源

官方文档

Github

Composer安装 MongoDB PHP Library

composer require mongodb/mongodb

PHP连接操作

代码示例(低阶API)

// 拼接连接 URI
$uri = 'mongodb://adminUser:adminPass@192.168.0.128:27017/admin';
$manager = new \MongoDB\Driver\Manager($uri);

//准备写入数据
$document1 = [
    'username' => 'john',
    'age' => 22,
    'email' => 'john_smith@gmail.com'
];

// 驱动预处理数据,这里可以看到 MongoDB 的 _id 是驱动生成的
$bulk = new \MongoDB\Driver\BulkWrite;
$_id1 = $bulk->insert($document1);

$result = $manager->executeBulkWrite('testdb.testtable', $bulk);

// 或者根据实际需要使用下面的代码确保数据写入到大多数节点
// $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
// $result = $manager->executeBulkWrite('testdb.testcollection', $bulk, $writeConcern);

// 按指定ID查询
//$filter = ['_id' => $_id1];
//查询所有
$filter = [];  
$query = new \MongoDB\Driver\Query($filter);
$rows = $manager->executeQuery('testdb.testtable', $query); 
foreach ($rows as $r) {
    print_r($r);
}

高阶API请参阅官方文档。

Leave a Comment

豫ICP备19001387号-1