mongodb 常用方法

来源:互联网 发布:linux kernel debug 编辑:程序博客网 时间:2024/06/06 01:30

每个集合(文档、数据表)都会有一个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();