MongoDb使用说明

DoitPHP扩展类MongoDb,用于mongodb的数据库操作。

类方法使用说明

1、collection($collection)

|选择集合。
|参数说明:
|$collection : 集合名称(相当于关系数据库中的表)

2、getOne($collnections, $query, $fields=array())

|查询一条记录
|参数说明:
|$collnections : 集合名称(相当于关系数据库中的表)
|$query : 查询的条件array(key=>value) 相当于key=value
|fields : 需要列表的字段信息array(filed1,filed2)

3、getAll($collnections, $query, $fields=array())

|查询多条记录
|参数说明:
|$collnections : 集合名称(相当于关系数据库中的表)
|$query : 查询的条件array(key=>value) 相当于key=value
|fields : 需要列表的字段信息array(filed1,filed2)

4、insert($collnections, $data)

|插入数据
|参数说明:
|$collnections : 集合名称(相当于关系数据库中的表)
|$data : 所要写入的数据信息

5、update($collection, $query, $data, $options=array('safe'=>true,'multiple'=>true))

|更改数据
|参数说明:
|$collnections : 集合名称(相当于关系数据库中的表)
|$query : 查询的条件array(key=>value) 相当于key=value
|$data : 所要更改的信息
|$options : 选项

6、delete($collection, $query, $option=array("justOne"=>false))

|删除数据
|参数说明:
|$collnections : 集合名称(相当于关系数据库中的表)
|$query : 查询的条件array(key=>value) 相当于key=value
|$option : 选项

7、id($id = null)

|MongoId。
|参数说明:
|$id : 获取mongoId

8、Timestamp($sec = null, $inc = 0)

|MongoTimestamp。
|参数说明:
|$sec : @param int $inc

9、gridFS($prefix = 'fs')

|GridFS
|参数说明:
|$prefix:前缀

10、getInstance($params)

|单例模式。 用于本类的单例模式(singleton)实例化
|参数说明:
|$params : 数据库连接参数,如数据库服务器名,用户名,密码等

使用举例

例一、数据查询

首先配置mongodb的数据库连接参数。在主配置文件中根据实际情况,添加代码如下:

  1. $config['mongo'] = array(
  2. 'dsn' => 'mongodb://localhost:27017',
  3. 'dbname' => '数据库名',
  4. 'username' => '用户名',
  5. 'password' => '密码',
  6. );

Controller文件代码内容如下:

  1. public function indexAction() {
  2.  
  3. $mongoLink = $this->instance('MongoDb');
  4. $data = $mongoLink->getOne('demo', array('name'=>'doit'));
  5. $this->dump($data);
  6. }

  1. public function indexAction() {
  2.  
  3. $mongoLink = $this->instance('MongoDb');
  4. $data = $mongoLink->getAll('demo', array('name'=>'doit'));
  5. $this->dump($data);
  6. }

例二、添加数据

  1. public function indexAction() {
  2. $data = array('name'=>'doit', 'version'=>2.5, 'author'=>'tommy');
  3. $mongoLink = $this->instance('MongoDb');
  4. $mongoLink->insert('demo', $data);
  5. }

例三、更改数据

  1. public function indexAction() {
  2. $data = array('name'=>'tommy', 'version'=>2.5, 'author'=>'tommy');
  3. $mongoLink = $this->instance('MongoDb');
  4. $mongoLink->update('demo', array('name'=>'xiaoxiao'), $data);
  5. }

例四、删除数据

  1. public function indexAction() {
  2.  
  3. $mongoLink = $this->instance('MongoDb');
  4. $mongoLink->delete('demo', array('name'=>'sky'));
  5. }

例五、获取总行数据

  1. public function indexAction() {
  2.  
  3. $mongoLink = $this->instance('MongoDb');
  4. echo $mongoLink->collection('demo')->count(array('name'=>'唐.川普'));
  5. }

原文: http://www.doitphp.com/index/documentation/?articleid=48