PHP之mongodb学习
2016-02-18 13:36
579 查看
<?php
//连接别的类,用来调用在别的类里定义的参数
include 'custon.php';
//连接DBHOST这个接口对应的芒果数据库DBHOST对应的数据形式为(接口:端口),其中端口默认为27017。
$con= new MongoClient(DBHOST);
//判断是否连接上
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
//连接项目所用数据库、如果没有,他会自动建立一个名字为fei的数据库
$db=$con->fei;
//连接项目数据库里索要用到的数据表,如果没有这张表,他会自动新建一张
$collection=$db->test;
//增;insert
$data=array("name"=>"大飞哥",'age'=>'33','sex'=>'男');
//$result=$collection->insert($data); #简单插入
//插入后系统会自动生成一个_id
//echo "插入数据的ID是".$data["_id"];
//删;remove
//根据标签参数删除。这个方法会删除在这个数据表里所有带'tel'=>'123456789'这个参数的数据,但_id这个参数不能直接使用
//$collection->remove(array('tel'=>'123456789'));
//根据_id删除,_id是系统自动生成的ID
//$id = new MongoId('56c433a324a739dc0600006b');
//$collection->remove(array('_id'=>(object)$id));
//改;update
//增加、修改参数。对已有的的表增加一个标签,也可以直接对已有的参数进行修改
//$newda=array("tel"=>"123456789");
//$result=$collection->update($data,array('$set'=>$newda));
//替换,相当于把上一张表的数据删除了又重新补充了另外的数据
//$newdata=array("user_age"=>"22","tel"=>"123456789");
//$result=$collection->update($data,$newdata);
//批量替换;'multiple'=>true
//要动哪组数据必须填写一个它有的数据如;"name"=>"二飞哥"必须是在那个表里有的一个参数,相当于索引 要不他找不到
//$newdata=array("sex"=>"男","money"=>10086);
//$result=$collection->update($data,array('$set'=>$newdata),array('multiple'=>true));
//数据自动累加;'$inc'=>array('money'=>-5)
//目前只会对最早的数据起作用。
//$newdata=array('name'=>'大飞哥');
//$result=$collection->update($data,array('$set'=>$newdata,'$inc'=>array('money'=>-5)));
//查;count、find
//注意,查询完后显示数据的时候必须用foreach循环,不然报错
//count;查数据个数
//echo 'count:'.$collection->count()."<br>"; #表内全部 数据个数
//echo 'count:'.$collection->count(array('age'=>'11'))."<br>"; #加上条件 ,查询符合条件的数据个数
//$gt为大于、$gte为大于等于、$lt为小于、$lte为小于等于、$ne为不等于、$exists存在
//注意;后面的选择条件的参数要注意数据类型'$gt'=>'20'和'$gt'=>20是两码事
//echo 'count:'.$collection->count(array('age'=>array('$gt'=>'20','$lte'=>'40')))."<br>"; #大于20小于等于40
//limit;极限 最多显示多少, skip;跳过忽略第几条数据,count;计数(没弄懂这个是干什么的,但是不写会报错)
//echo 'count:'.$collection->find()->limit(3)->skip(0)->count(true)."<br>"; #获得实际返回的结果数
//find;查具体数据
//查所有find(),后面可以不写
//$cursor = $collection->find()->snapshot();
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//查一条数据,这条数据是数据表里的第一条数据
//$cursor = $collection->findOne();
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//排除列 false为不显示
//$cursor = $collection->find()->fields(array("age"=>false,"tel"=>false));
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
#指定列 true为显示 如果没有这个参数,那就只显示id
//$cursor = $collection->find()->fields(array("name"=>true));
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//根据指定条件查找
//$where=array('name'=>array('$exists'=>true),'age'=>array('$ne'=>'0','$lt'=>'20','$exists'=>true));
//$cursor = $collection->find($where);
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//选择性的排除前多少条数据
//$cursor = $collection->find()->limit(5)->skip(0);
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//排序 ;sort
//$cursor = $collection->find()->sort(array('age'=>1)); #-1表示降序 1表示升序,参数的先后影响排序顺序
//没弄明白下面这两个方法有什么意义
//$cursor = $collection->ensureIndex(array('age' => 1,'money'=>-1),array('background'=>true)); #索引的创建放在后台运行(默认是同步运行)
//$cursor = $collection->ensureIndex(array('age' => 1,'money'=>-1),array('unique'=>true)); #该索引是唯一的
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//取得查询结果
$cursor = $collection->find();
$array=array();
foreach ($cursor as $id => $value) {
$array[]=$value;
}
var_dump($array);
#关闭连接
//$con->close();
//连接别的类,用来调用在别的类里定义的参数
include 'custon.php';
//连接DBHOST这个接口对应的芒果数据库DBHOST对应的数据形式为(接口:端口),其中端口默认为27017。
$con= new MongoClient(DBHOST);
//判断是否连接上
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
//连接项目所用数据库、如果没有,他会自动建立一个名字为fei的数据库
$db=$con->fei;
//连接项目数据库里索要用到的数据表,如果没有这张表,他会自动新建一张
$collection=$db->test;
//增;insert
$data=array("name"=>"大飞哥",'age'=>'33','sex'=>'男');
//$result=$collection->insert($data); #简单插入
//插入后系统会自动生成一个_id
//echo "插入数据的ID是".$data["_id"];
//删;remove
//根据标签参数删除。这个方法会删除在这个数据表里所有带'tel'=>'123456789'这个参数的数据,但_id这个参数不能直接使用
//$collection->remove(array('tel'=>'123456789'));
//根据_id删除,_id是系统自动生成的ID
//$id = new MongoId('56c433a324a739dc0600006b');
//$collection->remove(array('_id'=>(object)$id));
//改;update
//增加、修改参数。对已有的的表增加一个标签,也可以直接对已有的参数进行修改
//$newda=array("tel"=>"123456789");
//$result=$collection->update($data,array('$set'=>$newda));
//替换,相当于把上一张表的数据删除了又重新补充了另外的数据
//$newdata=array("user_age"=>"22","tel"=>"123456789");
//$result=$collection->update($data,$newdata);
//批量替换;'multiple'=>true
//要动哪组数据必须填写一个它有的数据如;"name"=>"二飞哥"必须是在那个表里有的一个参数,相当于索引 要不他找不到
//$newdata=array("sex"=>"男","money"=>10086);
//$result=$collection->update($data,array('$set'=>$newdata),array('multiple'=>true));
//数据自动累加;'$inc'=>array('money'=>-5)
//目前只会对最早的数据起作用。
//$newdata=array('name'=>'大飞哥');
//$result=$collection->update($data,array('$set'=>$newdata,'$inc'=>array('money'=>-5)));
//查;count、find
//注意,查询完后显示数据的时候必须用foreach循环,不然报错
//count;查数据个数
//echo 'count:'.$collection->count()."<br>"; #表内全部 数据个数
//echo 'count:'.$collection->count(array('age'=>'11'))."<br>"; #加上条件 ,查询符合条件的数据个数
//$gt为大于、$gte为大于等于、$lt为小于、$lte为小于等于、$ne为不等于、$exists存在
//注意;后面的选择条件的参数要注意数据类型'$gt'=>'20'和'$gt'=>20是两码事
//echo 'count:'.$collection->count(array('age'=>array('$gt'=>'20','$lte'=>'40')))."<br>"; #大于20小于等于40
//limit;极限 最多显示多少, skip;跳过忽略第几条数据,count;计数(没弄懂这个是干什么的,但是不写会报错)
//echo 'count:'.$collection->find()->limit(3)->skip(0)->count(true)."<br>"; #获得实际返回的结果数
//find;查具体数据
//查所有find(),后面可以不写
//$cursor = $collection->find()->snapshot();
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//查一条数据,这条数据是数据表里的第一条数据
//$cursor = $collection->findOne();
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//排除列 false为不显示
//$cursor = $collection->find()->fields(array("age"=>false,"tel"=>false));
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
#指定列 true为显示 如果没有这个参数,那就只显示id
//$cursor = $collection->find()->fields(array("name"=>true));
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//根据指定条件查找
//$where=array('name'=>array('$exists'=>true),'age'=>array('$ne'=>'0','$lt'=>'20','$exists'=>true));
//$cursor = $collection->find($where);
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//选择性的排除前多少条数据
//$cursor = $collection->find()->limit(5)->skip(0);
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//排序 ;sort
//$cursor = $collection->find()->sort(array('age'=>1)); #-1表示降序 1表示升序,参数的先后影响排序顺序
//没弄明白下面这两个方法有什么意义
//$cursor = $collection->ensureIndex(array('age' => 1,'money'=>-1),array('background'=>true)); #索引的创建放在后台运行(默认是同步运行)
//$cursor = $collection->ensureIndex(array('age' => 1,'money'=>-1),array('unique'=>true)); #该索引是唯一的
//foreach ($cursor as $id => $value) {
// echo "$id: ";
// var_dump($value);
// echo "<br>";
//}
//取得查询结果
$cursor = $collection->find();
$array=array();
foreach ($cursor as $id => $value) {
$array[]=$value;
}
var_dump($array);
#关闭连接
//$con->close();
相关文章推荐
- mongodb 配置项详解
- MongoDB概念解析
- mongodb的使用
- Mongodb嵌套文档的修改-利用数组修改器更新数据
- MongoDB是?
- Ubuntu 14.04 安装MongoDB社区版
- 基于ssdb和mongodb的feed服务架构
- zabbix如何监控mongodb
- mongodb 3.2版本基本管理
- MongoDB索引使用
- windows下MongoDB的安装以及php的扩展
- MongoDB 学习笔记(五)索引
- MongoDB常用查询
- Java实现对MongoDB的AND、OR和IN操作
- MongoDB数组修改器更新数据
- mac 下 安装 mongodb 数据库
- mongoDB学习网站
- Mongodb 学习笔记
- MongoDB初探系列之二:认识MongoDB提供的一些经常使用工具
- 基于C#的MongoDB数据库开发应用(2)--MongoDB数据库的C#开发