PHP 操作mongodb api大部分方法
<?php
/* PHP mongodb
* 全部curd操作
* @author:xiaojiang
* @date: 2014-10-27
*/
//查看 mongo类版本 1.30 以后版本使用 MongoClient
//Mongo::VERSION;
/*连接*/
$m = new Mongo("mongodb://localhost");
//连接多台
//$m = new Mongo("mongodb://localhost:27017,localhost:27018");
//选择数据库
$db = $m->selectDB("banggoCMS");
//$db = $m->banggoCMS;
$col = $db->dbeleComment2014; /*新增*/
/*
$opt = array(
'fsync' => 1 //默认为 false , false时当日志配置开启时和 j 参数的功能类似 否则写操作会等到数据完全同步到硬盘后...true则忽略执行结果
//...
)
*/
//$ret = $col->insert( array('pid'=>2 , 'content'=>'test123') , $opt ); /*更新*/
//$set
//修改属性
//$ret = $col->update( array('pid'=> 2 ), array('$set'=> array('content'=>'123456') ) );
//$unset
//删除某个属性$unset
//$ret = $col->update( array('pid'=> 2 ), array('$unset'=> array('content'=>1 ,'contents'=>1) ) );
//$push
//为某个属性 新增/更新 一条记录 若属性不存在则新增属性
//$ret = $col->update( array('pid'=> 2 ), array('$push'=> array('contents'=> array('v'=>1) ) ) );
//$pushall
//批量增加数据
//$ret = $col->update( array('pid'=> 2 ), array('$pushAll'=> array('contents'=> array(1,2,3,4) ) ) );
//$addToSet
//和push功能类似 与$push不同的是$addToSet会保证元素的唯一性,防止重复添加
//$ret = $col->update( array('pid'=> 2 ), array('$addToSet'=> array('contents'=> 1 ) ) );
//$pop
//删除字段数组中的第一条记录 。mongodb 1.1及以后的版本可以用 2或-2来删除两条,
//$ret = $col->update( array('pid'=> 2 ), array('$pop'=> array('contents'=> -1 ) ) );
//$pull index
//$ret = $col->update( array('pid'=> 2 ), array('$pull'=> array( 'contents' => 2 ) ) );
//$pullAll
//$ret = $col->update( array('pid'=> 2 ), array('$pullAll'=> array( 'contents' => array(1,2,3,4) ) ) );
//$inc $代表子项中的自身
//$ret = $col->update( array('contents'=> 3 ), array('$inc'=> array('contents.$' => 100 ) ) );
//$代表子项中的匹配记录自身
//删除
//$ret = $col->update( array('contents'=> 8 ), array('$unset'=> array('contents.$' => 1 ) ) );
//修改
//$ret = $col->update( array('contents'=> 2 ), array('$set'=> array('contents.$' => 11 ) ) );
//添加 PS:更新的节点要是数组类型
// $ret = $col->update( array('contents.v'=> 34 ), array('$push'=> array('contents.$.test' => array('t1'=>1 ,'t2'=>2) ) )); /*删除*/
//$ret = $col->remove( array('pid'=> 2 ) );
//只删除一条
//$ret = $col->remove( array('pid'=> 2 ) , array("justOne" => true));
/*查询*/
//$ret = $col->find( array('pid'=>2 , 'content'=>'test123') );
//子查询
//$ret = $col->findOne( array('pid'=>2 , 'contents'=> 1 ) );
//$ret = $col->findOne( array('pid'=>2 , 'contents.t'=> 5 ) ); //获取总数
//$t = $ret->count();
//越过多少
//$ret = $col->find( array('pid'=>2) )->skip( 10 );
//排序
//$ret = $col->find( array('pid'=>2) )->sort(array("a" => 1));
//返回字段
//$ret = $col->find( array('pid'=>2), array('content') );
//$ret = $col->find( array('pid'=>2), array('content' => 0 ) ); //忽略字段
//返回对象 php >= 5.1 iterator_to_array
//var_dump( iterator_to_array( $ret ) );
//否则
//foreach( $ret as $v){
// var_dump( $v );
//}
//$ret = $col->findOne(array('pid'=>2 , 'content'=>'test123'));
// 直接返回数组 ?>
PHP 操作mongodb api大部分方法的更多相关文章
- Java操作mongoDB2.6的常见API使用方法
对于mongoDB而言,学习方式和学习关系型数据库差不太多 開始都是学习怎样insert.find.update.remove,然后就是分页.排序.索引,再接着就是主从复制.副本集.分片等等 最后就是 ...
- 使用IDEA操作Hbase API 报错:org.apache.hadoop.hbase.client.RetriesExhaustedException的解决方法:
使用IDEA操作Hbase API 报错:org.apache.hadoop.hbase.client.RetriesExhaustedException的解决方法: 1.错误详情: Excepti ...
- python操作mongodb根据_id查询数据的实现方法
python操作mongodb根据_id查询数据的实现方法 python操作mongodb根据_id查询数据的实现方法,实例分析了Python根据pymongo不同版本操作ObjectId的技巧, ...
- 在ASP.NET Core2上操作MongoDB就是能这么的简便酷爽(自动完成分库分表)
NoSQL是泛指非关系型的数据库,现今在我们的项目中也多有使用,其独特的优点为我们的项目架构带来了不少亮点,而我们这里的主角(MongoDB)则是NoSQL数据库家族中的一种.事实上,NoSQL数据库 ...
- mongoose - 让node.js高效操作mongodb
Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...
- 【荐】PHP操作MongoDB GridFS 存储文件,如图片文件
GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容, ...
- atitit.api设计 方法 指南 手册 v2 q929.docx
atitit.api设计 方法 指南 手册 v2 q929.docx atitit.api设计原则与方法 1. 归一化(锤子钉子理论)1 1.1. 链式方法2 1.2. 规则5:建立返回值类型2 1. ...
- 学习MongoDB--(11):应用举例(利用java操作MongoDB)
原文地址:http://blog.csdn.net/drifterj/article/details/7948090 目录地址:http://blog.csdn.net/DrifterJ/articl ...
- PHP操作MongoDB简明教程(转)
转自:http://blog.sina.com.cn/s/blog_6324c2380100ux2m.html MongoDB是最近比较流行的NoSQL数据库,网络上关于PHP操作MongoDB的资料 ...
随机推荐
- netbeans项目中排除node_modules文件夹
由于项目中的javascript使用了gulp编译技术,所以在web目录下有js的源码目录,其中又有gulp所使用的nodeJS模块,node_modules下面小文件很多,所以造成netbeans扫 ...
- Android中用layer-list编写阴影效果
要实现这种效果当然有多 种方式,比如背景图片直接加阴影效果,或者用代码画一个(onDraw()).这次我们直接用layer-list来实现.在项目 res->drawable中创建一个xml,如 ...
- Android 自定义View实现多行RadioGroup (MultiLineRadioGroup)
一.项目概况 我们都知道RadioGroup可以实现选择框,但它有一个局限性,由于它是继承自LinearLayout的,所以只能有一个方向,横向或者纵向:但有时候仅一行的RadioGroup并不能满足 ...
- php 基础知识
一.判断代码输出 $str1 = null; $str2 = false; echo $str1==$str2 ? '相等' : '不相等'; $str3 = ''; $str4 = 0; echo ...
- ionic button笔记
源码文件:_button.scss 和 _button-bar.scss,以及_variables.scss(66行-163行). 按钮是手机app不可或缺的一部分,不同风格的app,需要的按钮多种多 ...
- Ubuntu桌面版本和服务器版本之间的区别(转载)
转载自:http://blog.csdn.net/fangaoxin/article/details/6335992 http://www.linuxidc.com/Linux/2010-11/297 ...
- REHL5.5 linux的postfix的邮件服务器配置 (笔记)
一.发送邮件服务器(smtp服务器) 1.系统安装时已经有postfix. 2.修改配置 1)vi main.cf //你可以先备份一下配置文件 myhostname = INMSC2//修改为你的主 ...
- PE渲染引擎 二
增加了DOF
- Web压力测试 ApacheBench(ab)
ApacheBench命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试ngin ...
- weblogic集群中获取jndi的方式
# The following example specifies a list of WebLogic Servers using the same port: ht.put(Context.PRO ...