mongodb 常用方法

每个集合(文档、数据表)都会有一个key, "_id"对应;

system.indexes集合是系统表索引

system.user集合是系统用户

最常用原子操作

$set:array( $set => array( field => value))

$unset:array($unset => (field => 1))

$inc :array($inc => (field=> value))

$gt :array($gt => (field=> value))

$gt: array('_id' => array('$gt' => 486, '$lt' => 488));

$sort: array('_id' => 1,’cid’=> -1);

$in: array('_id' => array('$in' => array(83,487)));

 

 

查询条件:<, <=, >, >==、$all、$exists、$mod、$ne、$in、$nin

$nor、$or、$size、$type

列表常用方法:

count()、limit()、skip()、snapshot()、sort()、group()

 

功能:选择操作库

$this->_db      = self::$in[$r]->selectDB( $this->_cfg['name']);

 

功能:插入数据

$this->_db->selectCollection($tableName)->insert($array,array('safe'=>true));

 

功能:删除数据

$this->_db->selectCollection($tableName)->remove($array,array('safe' => false) );

 

功能:更新数据

$this->_db->selectCollection($tableName)->update( $where,$array, $multiple);

 

功能:获取单条数据

return $this->_db ->selectCollection($tableName)->findOne( $where );

 

功能:获取多条数据及列表分页

方法名: find()

$cursor = $this->_db ->selectCollection($tableName)->find($where )->sort( $sort )->skip( $skip )->limit($limit );

//$cursor->snapshot(); 开启结果集不变化

while( $cursor->hasNext() ) {

$ret[] = $cursor->getNext();

}

分组查询:

$command = array(

'mapreduce' => $tableName, //集合

'map'       => $array['map'],//地图

'reduce'    => $array['reduce'], //javascript

'query'     => $array['query'], //条件

'sort'      => $array['sort'], //array('_id' => 1), //排序

'limit'     => $array['limit'],//int 5 处理数据量

'out'       => $array['tableNameOut'], //处理结果输出集合

);    

$ret = $this->_db->command($command);

 

* 返回结果结构如下:

* result:储存结果的collection的名字

* input:满足条件的数据行数

* reduce:满足reduce执行条数

* emit:emit调用次数,也就是所有集合中的数据总量

* ouput:返回结果条数

* timeMillis:执行时间,毫秒为单位

* ok:是否成功,成功为1

* err:如果失败,这里可以有失败原因,不过从经验上来看,原因比较模糊,作用不大

功能:统计计数

$this->_db->selectCollection($tableName)->find( $where)->count();

 

功能:添加索引(参数: array(cid => 1, ‘unique’=> true))

$this->_db->selectCollection($tableName)->ensureIndex( $array );

 

功能: 删除集合

$this->_db->selectCollection($tableName)->drop();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值