Home  >  Article  >  php教程  >  mongodb php,mongodb

mongodb php,mongodb

WBOY
WBOYOriginal
2016-06-13 08:46:10819browse

mongodb php,mongodb

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

一、连接数据库

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

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

二、创建集合

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

该代码可以创建集合mycol。

三、插入文档

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

<span>try</span><span> {
    </span><span>$mongo</span> = <span>new</span><span> MongoClient();
    </span><span>$db</span> = <span>$mongo</span>-><span>mydb;
    </span><span>$mycol</span> = <span>$db</span>-><span>mycol;

    </span><span>$document</span> = <span>array</span>('name' => 'test1' , 'sex' => 'formale' , 'age' => 20<span>);
    </span><span>$res</span> = <span>$mycol</span>->insert(<span>$document</span><span>);
    </span><span>var_dump</span>(<span>$res</span><span>);
} </span><span>catch</span> (MongoConnectionException <span>$e</span><span>) {
    </span><span>echo</span> <span>$e</span>-><span>getMessage();
}</span>

输出:

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

四、查找文档

mongodb使用find()来查找文档

<span>try</span><span> {
    </span><span>$mongo</span> = <span>new</span><span> MongoClient();
    </span><span>$db</span> = <span>$mongo</span>-><span>mydb;
    </span><span>$mycol</span> = <span>$db</span>-><span>mycol;

    </span><span>$mongoCursor</span> = <span>$mycol</span>-><span>find();
    </span><span>foreach</span> (<span>$mongoCursor</span> <span>as</span> <span>$document</span><span>) {
        </span><span>var_dump</span>(<span>$document</span><span>);
    }
} </span><span>catch</span> (MongoConnectionException <span>$e</span><span>) {
    </span><span>echo</span> <span>$e</span>-><span>getMessage();
}</span>

结果:

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

五、更新文档

使用update()来更新文档

<span>try</span><span> {
    </span><span>$mongo</span> = <span>new</span><span> MongoClient();
    </span><span>$db</span> = <span>$mongo</span>-><span>mydb;
    </span><span>$mycol</span> = <span>$db</span>-><span>mycol;

    </span><span>$mycol</span>->update(<span>array</span>('name'=>'test1') , <span>array</span>('$set'=><span>array</span>('age' => 21<span>)));
    </span><span>$mongoCursor</span> = <span>$mycol</span>-><span>find();
    </span><span>foreach</span> (<span>$mongoCursor</span> <span>as</span> <span>$document</span><span>) {
        </span><span>var_dump</span>(<span>$document</span><span>);
    }
} </span><span>catch</span> (MongoConnectionException <span>$e</span><span>) {
    </span><span>echo</span> <span>$e</span>-><span>getMessage();
}</span>

结果

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

六、删除文档

<span>try</span><span> {
    </span><span>$mongo</span> = <span>new</span><span> MongoClient();
    </span><span>$db</span> = <span>$mongo</span>-><span>mydb;
    </span><span>$mycol</span> = <span>$db</span>-><span>mycol;

    </span><span>$mycol</span>->remove(<span>array</span>('name'=>'test1'<span>));
    </span><span>$mongoCursor</span> = <span>$mycol</span>-><span>find();
    </span><span>foreach</span> (<span>$mongoCursor</span> <span>as</span> <span>$document</span><span>) {
        </span><span>var_dump</span>(<span>$document</span><span>);
    }
} </span><span>catch</span> (MongoConnectionException <span>$e</span><span>) {
    </span><span>echo</span> <span>$e</span>-><span>getMessage();
}</span>

remove方法

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn