PHP扩展:
http://cn2.php.net/manual/zh/book.mongo.php
相关说明:
1.在MongoDB中集合相录于MySql中的表
2.在MongoDB中文档相录于MySql中的行
MongoDB操作:
No.01: 创建连接
No.02: 选择数据库(ceshi)
No.03: 选择集合(user)
No.04: 插入文档
No.05: 删除文档
No.06: 修改
No.07: 查询
No.08: 删除集合
No.09: 删除数据库
No.10: 关闭连接
No.11: MongoId
相关说明:
1.在MongoDB中集合相录于MySql中的表
2.在MongoDB中文档相录于MySql中的行
MongoDB操作:
No.01: 创建连接
//连接字符串,格式:mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db
$connstr = 'mongodb://localhost:27017';
$conn = new Mongo($connstr);
//本地测试时,可不用参数,默认host:localhost,port:27017
$conn = new Mongo();
连接字符串书写规则:
http://cn2.php.net/manual/zh/mongo.construct.php
No.02: 选择数据库(ceshi)
//"ceshi"为数据库名,不存在此数据库时,会自动创建
$db = $conn -> ceshi;
No.03: 选择集合(user)
//"user"为集合名,不存在此集合时,会自动创建
$coll = $db -> user;
No.04: 插入文档
$coll -> insert(array('number'=>'001', 'user'=>'user01'));
$coll -> insert(array('number'=>'002', 'user'=>'user02', 'pass'=>'pass02'));
$coll -> insert(array('number'=>'003', 'user'=>'user03', 'pass'=>'pass03', 'info'=>array('intro'=>'Description')));
No.05: 删除文档
//未带参数时,清空集合
$coll -> remvoe();
//选择性的删除
$coll -> remvoe(array('number'=>'002'));
No.06: 修改
//参数分别为:条件,新值
$coll -> update(array('number'=>'003'), array('$set'=>array('pass'=>'newpass')));
No.07: 查询
//获取集合中所有文档 -- 返回MongoCursor
$coll -> find();
//选择性的获取集合中的文档 -- 返回MongoCursor
$coll -> find(array('number'=>'003'));
//获取一个文档 -- 返回Array
$coll -> findOne();
No.08: 删除集合
$coll -> drop();
No.09: 删除数据库
$db -> drop();
No.10: 关闭连接
$conn -> close();
No.11: MongoId
//MongoDB中每条记录,会自动添加一个 “_id” 唯一值变量,类型为MongoId
//MongoId转字符串
$info['_id']->__toString();
//字符串转MongoId
$id = new MongoId($info['_id']);
//判断字符串是否是MongoId
function isid($id){
$tmpid = new MongoId($id);
if($id == $tmpid->__toString()){
return true;
}else{
return false;
}
}
No.12: MongoCursor
MongoDB查询数据(find),返回的是MongoCursor类型
$cursor = $collection->find();
1.foreach - foreach($cursor as $val){ //value }
2.转为数组 - iterator_to_array($cursor)