PHP与MongoDB交互 - pingdongyi/blog-2 GitHub Wiki
想要php与mongodb结合使用,就得先装mongodb驱动,即安装php的mongodb扩展
-
查看php相应版本
$php -v PHP 5.5.32 (cli) (built: Feb 5 2016 14:01:05) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
-
用brew查找并安装相应版本驱动
$brew search mongodb homebrew/php/php54-mongodb homebrew/php/php55-mongodb ✔ homebrew/php/php56-mongodb homebrew/php/php70-mongodb mongodb ✔
安装:
$brew install homebrew/php/php55-mongodb
由第2步已经生成了相应的mongodb.so文件及ext-mongodb.ini配置文件,这里需要把其配置文件copy到php额外的配置文件目录中,然后重启php,如:
$php --ini
Scan this dir for additional .ini files /Library/Server/Web/Config/php ##扩展配置文件目录
$cp /usr/local/etc/php/5.5/conf.d/ext-mongodb.ini /Library/Server/Web/Config/php/
$php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf
$ composer require "mongodb/mongodb=^1.0.0"
会生成composer.json, composer.lock等文件和vendor目录,目录中包含了mongodb相关的类及源码。
<?php
require 'vendor/autoload.php';
$c = new MongoDB\CLient('mongodb://localhost:27017');
$user = $c->test->user;
//$result = $user->insertOne(['name'=>'bing','email'=>'[email protected]','age'=>30]);
//echo $result->getInsertedId();
$all = $user->find();
foreach($all as $key=>$value){
echo $value->id.'|'.$value->name.'|'.$value->email.'|'.$value->age;
echo "</br>";
}
?>
主要是Client
、DataBase
和Collection
等类,以及该三个主要类中所涉及包含的操作方法类等,如下图所示:
安装参考:其他平台及方法安装