Home>Article>Database> Introduction to the usage of mongodb and php (code example)

Introduction to the usage of mongodb and php (code example)

不言
不言 forward
2019-03-23 17:08:37 2341browse

This article brings you an introduction to the usage of mongodb and php (code examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Mognodb database connection.

Default format

$m = new Mongo(); //这里采用默认连接本机的27017端口,当然也可以连接远程主机如 192.168.0.4:27017,如果端口是27017,端口可以省略。

Standard connection

$m = new Mongo("mongodb://${username}:${password}@localhost");

Instance:

$m = new Mongo("mongodb://127.0.0.1:27017/admin:admin");

The user name and password of the database are both admin

Database operation

Insert data

selectDB("comedy"); $db = $m->comedy; //选择comedy里面的collection集合,相当于RDBMS里面的表,也可以使用 $collection = $db->collection; $db->selectCollection("collection"); /*********添加一个元素**************/ $obj = array("title" => "php1", "author" => "Bill Watterson"); //将$obj 添加到$collection 集合中 $collection->insert($obj); /*********添加另一个元素**************/ $obj = array("title" => "huaibei", "online" => true); $collection->insert($obj); //$query = array("title" => "huaibei"); $query = array( "_id" => $obj['_id'] ); $cursor = $collection->find($query); //遍历所有集合中的文档 foreach ($cursor as $obj) { echo $obj["title"] . "\n"; echo $obj["_id"] . "\n"; } //断开MongoDB连接 $m->close();

Conditional query

mysql: id = 123 mongo: array(‘id’=>123) mysql: name link ’%bar%’ mongo: array(‘name’ => new MongoRegex(‘/.*bar.*/i’)) mysql: where id > 10 mongo: array(‘id’ => array(‘$gt’ => 10)) mysql: where id >= 10 mongo: array(‘id’ => array(‘$gte’ => 10)) mysql: where id < 10 mongo: array(‘id’ => array(‘$lt’ => 10)) mysql: where id <= 10 mongo: array(‘id’ => array(‘$lte’ => 10)) mysql: where id > 1 and id < 10 mongo: array(‘id’ => array(‘$gt’ => 1,’$lt’ => 10)) mysql: where id <> 10 mongo: array(‘id’ => array(‘$ne’ => 10)) mysql: where id in(123) mongo: array(‘id’ => array(‘$in’ => array(1,2,3))) mysql: where id not in(123) mongo: array(‘id’ => array(‘$nin’ => array(1,2,3))) mysql: where id = 2 or id = 9 mongo: array(‘id’ => array(‘$or’ => array(array(‘id’=>2),array(‘id’=>9)))) mysql: order by name asc mongo: array(‘sort’=>array(‘name’=>1)) mysql: order by name desc mongo: array(‘sort’=>array(‘name’=>-1)) mysql: limit 0,2 mongo: array(‘limit’=>array(‘offset’=>0,’rows’=>2)) mysql: select name,email mongo: array(‘name’,'email’) mysql: select count(name) mongo: array(‘COUNT’) //注意:COUNT为大写

When querying, each Object will automatically generate a unique_ when it is inserted. id, which is equivalent to the primary key in RDBMS, is very convenient for querying (_id is different for each one, much like an automatically increased id)

 "joe"); $collection->insert($param); $joe = $collection->findOne(array("_id" => $param['_id'])); print_R($joe); $m->close();

Return result: Array ( [_id] => MongoId Object ( [$id] => 4fd30e21870da83416000002 ) [name] => joe )

Change field value

 'php1'); $param = array("title" => 'php1','author'=>'test'); $joe = $collection->update($sign, $param);

Delete a database

$m -> dropDB(“comedy”);

List all available databases

$m->listDBs(); //无返回值

Create a MongoDB object


      

Delete the current DB

dbname; $db->drop();

Get the current database name

dbname; $db->_tostring();

Select the desired collection:

//A: $mo = new Mongo(); $coll = $mo->dbname->collname;//获得一个collection对象 //B: $db = $mo->selectDB(’dbname’); $coll = $db->collname; //C: $db = $mo->dbname; $coll = $db->collname; //D: $db = $mo->dbname; $coll = $db->selectCollectoin(’collname’);//获得一个collection对象

Insert data (MongoCollection object

$coll = $mo->db->foo; $a = array(’a’=>’b’); $options = array(’safe’=>true); $rs =$coll->insert($a,$options);

Delete records in the database (MongoCollection object)

$coll = $mo->db->coll; $c = array(’a’=>1,’s’=>array(’$lt’=>100)); $options = array(’safe’=>true); $rs = $coll->remove($c,$options);

Update records in the database (MongoCollection object)

$coll = $mo->db->coll; $c = array(’a’=>1,’s’=>array(’$lt’=>100)); $newobj = array(’e’=>’f’,’x’=>’y’); $options = array(’safe’=>true,’multiple’=>true); $rs = $coll->remove($c,$newobj,$options);

Query the collection to obtain a single record (MongoCollection class)

$coll = $mo->db->coll; $query = array(’s’=>array(’$lt’=>100)); $fields = array(’a’=>true,’b’=>true); $rs = $coll->findOne($query,$fields);

Query the collection to obtain multiple records (MongoCollection class)

$coll = $mo->db->coll; $query = array(’s’=>array(’$lt’=>100)); $fields = array(’a’=>true,’b’=>true); $cursor = $coll->find($query,$fields); //排序 $cursor->sort(array(‘字段’=>-1));(-1倒序,1正序) //跳过部分记录 $cursor->skip(100);跳过100行 //只显示部分记录 $cursor->limit(100);只显示100行 返回一个游标记录对象MongoCursor。

Operations for the cursor object MongoCursor (MongoCursor class)

$cursor = $coll->find($query,$fields); while($cursor->hasNext()){ $r = $cursor->getNext(); var_dump($r); } //或者 $cursor = $coll->find($query,$fields); foreache($cursor as $k=>$v){ var_dump($v); } //或者 $cursor = $coll->find($query,$fields); $array= iterator_to_array($cursor);

This article ends here It’s all over. For more other exciting content, you can pay attention to themongodb video tutorialcolumn on the PHP Chinese website!

The above is the detailed content of Introduction to the usage of mongodb and php (code example). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete