爱程序网

mongodb php

来源: 阅读:

首先安装扩展,然后才能使用mongodb

一、连接数据库

try {    $mongo = new MongoClient();    $db = $mongo->mydb;    var_dump($db);} catch (MongoConnectionException $e) {    echo $e->getMessage();}

该代码可以连接mydb数据库,如果该数据库不存在则自动创建。

二、创建集合

try {    $mongo = new MongoClient();    $db = $mongo->mydb;    $mycol = $db->createCollection('mycol');    var_dump($mycol);} catch (MongoConnectionException $e) {    echo $e->getMessage();}

该代码可以创建集合mycol。

三、插入文档

mongodb中使用insert()来插入文档。

try {    $mongo = new MongoClient();    $db = $mongo->mydb;    $mycol = $db->mycol;    $document = array('name' => 'test1' , 'sex' => 'formale' , 'age' => 20);    $res = $mycol->insert($document);    var_dump($res);} catch (MongoConnectionException $e) {    echo $e->getMessage();}

输出:

array (size=4)  'ok' => float 1  'n' => int 0  'err' => null  'errmsg' => null

四、查找文档

mongodb使用find()来查找文档

try {    $mongo = new MongoClient();    $db = $mongo->mydb;    $mycol = $db->mycol;    $mongoCursor = $mycol->find();    foreach ($mongoCursor as $document) {        var_dump($document);    }} catch (MongoConnectionException $e) {    echo $e->getMessage();}

结果:

array (size=4)  '_id' =>     object(MongoId)[7]      public '$id' => string '56c28a793b22cf5415000029' (length=24)  'name' => string 'test1' (length=5)  'sex' => string 'formale' (length=7)  'age' => int 20

五、更新文档

使用update()来更新文档

try {    $mongo = new MongoClient();    $db = $mongo->mydb;    $mycol = $db->mycol;    $mycol->update(array('name'=>'test1') , array('$set'=>array('age' => 21)));    $mongoCursor = $mycol->find();    foreach ($mongoCursor as $document) {        var_dump($document);    }} catch (MongoConnectionException $e) {    echo $e->getMessage();}

结果

array (size=4)  '_id' =>     object(MongoId)[7]      public '$id' => string '56c28a793b22cf5415000029' (length=24)  'name' => string 'test1' (length=5)  'sex' => string 'formale' (length=7)  'age' => int 21

六、删除文档

try {    $mongo = new MongoClient();    $db = $mongo->mydb;    $mycol = $db->mycol;    $mycol->remove(array('name'=>'test1'));    $mongoCursor = $mycol->find();    foreach ($mongoCursor as $document) {        var_dump($document);    }} catch (MongoConnectionException $e) {    echo $e->getMessage();}

remove方法

public bool|array MongoCollection::remove ([ array $criteria = array() [, array $options = array() ]] )

options删除的选项:

“w”:抛出异常的级别,默认是1;

“justOne”:最多只删除一个匹配的记录;

fsync”:Boolean, defaults to FALSE. Forces the insert to be synced to disk before returning success. If TRUE, an acknowledged insert is implied and will override setting w to 0.

timeout”:Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, aMongoCursorTimeoutException will be thrown.

......

 

 

其他方法可参见php手册:http://php.net/manual/zh/book.mongo.php

Tags:mongodb php
关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助