当前位置: 首页 > 文档资料 > DoitPHP 帮助文档 >

6.10 MongoDb使用说明

优质
小牛编辑
133浏览
2023-12-01

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的数据库连接参数。在项目的主配置文件(config/application.php)中根据实际情况,添加代码如下:

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

Controller文件代码内容如下:

public function indexAction() {

$mongoLink = $this->instance('MongoDb');
$data = $mongoLink->getOne('demo', array('name'=>'doit'));
$this->dump($data);
}

public function indexAction() {

$mongoLink = $this->instance('MongoDb');
$data = $mongoLink->getAll('demo', array('name'=>'doit'));
$this->dump($data);
}

例二、添加数据

Controller文件代码内容如下:

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

例三、更改数据

Controller文件代码内容如下:

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

例四、删除数据

Controller文件代码内容如下:

public function indexAction() {

$mongoLink = $this->instance('MongoDb');
$mongoLink->delete('demo', array('name'=>'sky'));
}

例五、获取总行数据

Controller文件代码内容如下:

public function indexAction() {

$mongoLink = $this->instance('MongoDb');
echo $mongoLink->collection('demo')->count(array('name'=>'doitphp'));
}