设为首页 加入收藏

TOP

PHP操作MongoDB技术总结(五)
2015-11-21 01:45:36 来源: 作者: 【 】 浏览:6
Tags:PHP 操作 MongoDB 技术 总结
123″,”column_exp”:”GGGGGGG”,”column_fid”:444} */ //** 替换更新 **/ $where=array(‘column_name’=>’col709′); $newdata=array(‘column_exp’=>’HHHHHHHHH’,'column_fid’=>123); $result=$collection->update($where,$newdata); /* * 结果: * 原数据 * {“_id”:ObjectId(“4d635ba2d549a02801000003″),”column_name”:”col709″,”column_exp”:”xiaocai”} * 被替换成了 * {“_id”:ObjectId(“4d635ba2d549a02801000003″),”column_exp”:”HHHHHHHHH”,”column_fid”:123} */ //** 批量更新 **/ $where=array(‘column_name’=>’col’); $newdata=array(‘column_exp’=>’multiple’,’91u’=>684435); $result=$collection->update($where,array(‘$set’=>$newdata),array(‘multiple’=>true)); /** * 所有’column_name’='col’都被修改 */ //** 自动累加 **/ $where=array(’91u’=>684435); $newdata=array(‘column_exp’=>’edit’); $result=$collection->update($where,array(‘$set’=>$newdata,’$inc’=>array(’91u’=>-5))); /** * 更新91u=684435的数据,并且91u自减5 */ /** 删除节点 **/ $where=array(‘column_name’=>’col685′); $result=$collection->update($where,array(‘$unset’=>’column_exp’)); /** * 删除节点column_exp */ /* * * * 完整格式:update(array $criteria, array $newobj [, array $options = array() ] ) * 注意:1.注意区分替换更新与修改更新 * 2.注意区分数据类型如 array(’91u’=>’684435′)与array(’91u’=>684435) * 详细资料:http://www.mongodb.org/display/DOCS/Updating#Updating-%24bit * * */ //************************* //** 删除文档 **// //************************* /** 清空数据库 **/ $collection->remove(array(‘column_name’=>’col399′)); //$collection->remove(); #清空集合 /** 删除指定MongoId **/ $id = new MongoId(“4d638ea1d549a02801000011″); $collection->remove(array(‘_id’=>(object)$id)); /* * * * 使用下面的方法来匹配{“_id”:ObjectId(“4d638ea1d549a02801000011″)},查询、更新也一样 * $id = new MongoId(“4d638ea1d549a02801000011″); * array(‘_id’=>(object)$id) * * */ //************************* //** 查询文档 **// //************************* /** 查询文档中的记录数 **/ echo ‘count:’.$collection->count().” ”; #全部 echo ‘count:’.$collection->count(array(‘type’=>’user’)).” ”; #可以加上条件 echo ‘count:’.$collection->count(array(‘age’=>array(‘$gt’=>50,’$lte’=>74))).” ”; #大于50小于等于74 echo ‘count:’.$collection->find()->limit(5)->skip(0)->count(true).” ”; #获得实际返回的结果数 /** * 注:$gt为大于、$gte为大于等于、$lt为小于、$lte为小于等于、$ne为不等于、$exists不存在 */ /** 集合中所有文档 **/ $cursor = $collection->find()->snapshot(); foreach ($cursor as $id => $value) { echo “$id: “; var_dump($value); echo “ ”; } /** * 注意: * 在我们做了find()操作,获得$cursor游标之后,这个游标还是动态的. * 换句话说,在我find()之后,到我的游标循环完成这段时间,如果再有符合条件的记录被插入到collection,那么这些记录也会被$cursor 获得. * 如果你想在获得$cursor之后的结果集不变化,需要这样做: * $cursor = $collection->find(); * $cursor->snapshot(); * 详见http://www.bumao.com/index.php/2010/08/mongo_php_cursor.html */ /** 查询一条数据 **/ $cursor = $collection->findOne(); /** * 注意:findOne()获得结果集后不能使用snapshot(),fields()等函数; */ /** age,type 列不显示 **/ $cursor = $collection->find()->fields(array(“age”=>false,”type”=>false)); /** 只显示user 列 **/ $cursor = $collection->find()->fields(array(“user”=>true)); /** * 我这样写会出错:$cursor->fields(array(“age”=>true,”type”=>false)); */ /** (存在type,age节点) and age!=0 and age<50 **/ $where=array(‘type’=>array(‘$exists’=>true),’age’=>array(‘$ne’=>0,’$lt’=>50,’$exists’=>true)); $cursor = $collectio
首页 上一页 2 3 4 5 6 下一页 尾页 5/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇分布式缓存GemFire架构介绍 下一篇【MongoDB】-用户权限设置详解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: