Home > Database > Mysql Tutorial > body text

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

不言
Release: 2019-08-19 18:09:46
forward
2246 people have browsed it

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,端口可以省略。
Copy after login

Standard connection

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

Instance:

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

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();
Copy after login

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为大写
Copy after login

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();
Copy after login

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);
Copy after login

Delete a database

$m -> dropDB(“comedy”);
Copy after login

List all available databases

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

Create a MongoDB object

Copy after login

Delete the current DB

dbname;
$db->drop();
Copy after login

Get the current database name

dbname;
$db->_tostring();
Copy after login

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对象
Copy after login

Insert data (MongoCollection object

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

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);
Copy after login

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);
Copy after login

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);
Copy after login

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。
Copy after login

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);
Copy after login

This article ends here It’s all over. For more other exciting content, you can pay attention to the mongodb video tutorial column 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!

Related labels:
source:segmentfault.com
Statement of this Website
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 [email protected]
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!