Properties

$instance

$instance : 

Type

$dbName

$dbName : 

Type

$queryStr

$queryStr : string

Type

string — 当前SQL指令

$typeMap

$typeMap : 

Type

$mongo

$mongo : 

Type

$cursor

$cursor : 

Type

$event

$event : 

Type

$links

$links : array<mixed,\think\mongo\PDO>

Type

array<mixed,\think\mongo\PDO> — 数据库连接ID 支持多个连接

$linkID

$linkID : \think\mongo\PDO

Type

\think\mongo\PDO — 当前连接ID

$linkRead

$linkRead : 

Type

$linkWrite

$linkWrite : 

Type

$builder

$builder : 

Type

$numRows

$numRows : 

Type

$error

$error : 

Type

$options

$options : 

Type

$info

$info : 

Type

$config

$config : 

Type

Methods

__construct()

__construct(array  $config = array()) 

架构函数 读取数据库配置信息

Parameters

array $config

数据库配置数组

instance()

instance(mixed  $config = array(), boolean|string  $name = false) : \think\mongo\Connection

取得数据库连接类实例

Parameters

mixed $config

连接配置

boolean|string $name

连接标识 true 强制重新连接

Throws

\think\Exception

Returns

\think\mongo\Connection

connect()

connect(array  $config = array(), integer  $linkNum) : \MongoDB\Driver\Manager

连接数据库方法

Parameters

array $config

连接参数

integer $linkNum

连接序号

Throws

\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\RuntimeException

Returns

\MongoDB\Driver\Manager

getConfig()

getConfig(string  $config = '') : mixed

获取数据库的配置参数

Parameters

string $config

配置名称

Returns

mixed

setConfig()

setConfig(string  $config, mixed  $value) : void

设置数据库的配置参数

Parameters

string $config

配置名称

mixed $value

配置值

getMongo()

getMongo() : \MongoDB\Driver\Manager|null

获取Mongo Manager对象

Returns

\MongoDB\Driver\Manager|null

db()

db(string  $db = null) 

设置/获取当前操作的database

Parameters

string $db

db

Throws

\think\Exception

parseSqlTable()

parseSqlTable(string  $sql) : string

将SQL语句中的__TABLE_NAME__字符串替换成带前缀的表名(小写)

Parameters

string $sql

sql语句

Returns

string

query()

query(string  $namespace, \MongoDB\Driver\Query  $query, \MongoDB\Driver\ReadPreference  $readPreference = null, string|boolean  $class = false, string|array  $typeMap = null) : mixed

执行查询

Parameters

string $namespace

当前查询的collection

\MongoDB\Driver\Query $query

查询对象

\MongoDB\Driver\ReadPreference $readPreference

readPreference

string|boolean $class

返回的数据集类型

string|array $typeMap

指定返回的typeMap

Throws

\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException

Returns

mixed

command()

command(\MongoDB\Driver\Command  $command, string  $dbName = '', \MongoDB\Driver\ReadPreference  $readPreference = null, string|boolean  $class = false, string|array  $typeMap = null) : mixed

执行指令

Parameters

\MongoDB\Driver\Command $command

指令

string $dbName

当前数据库名

\MongoDB\Driver\ReadPreference $readPreference

readPreference

string|boolean $class

返回的数据集类型

string|array $typeMap

指定返回的typeMap

Throws

\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException

Returns

mixed

execute()

execute(string  $namespace, \MongoDB\Driver\BulkWrite  $bulk, \MongoDB\Driver\WriteConcern  $writeConcern = null) : \think\mongo\WriteResult

执行写操作

Parameters

string $namespace
\MongoDB\Driver\BulkWrite $bulk
\MongoDB\Driver\WriteConcern $writeConcern

Throws

\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException
\MongoDB\Driver\Exception\BulkWriteException

Returns

\think\mongo\WriteResult

log()

log(string  $type, mixed  $data, array  $options = array()) : void

数据库日志记录(仅供参考)

Parameters

string $type

类型

mixed $data

数据

array $options

参数

getLastSql()

getLastSql() : string

获取最近执行的指令

Returns

string

listen()

listen(callable  $callback) : void

监听SQL执行

Parameters

callable $callback

回调方法

logger()

logger(  $log,   $type = 'sql') 

Parameters

$log
$type

free()

free() 

释放查询结果

close()

close() 

关闭数据库

replicaSetConnect()

replicaSetConnect() : \MongoDB\Driver\Manager

创建基于复制集的连接

Returns

\MongoDB\Driver\Manager

insert()

insert(\think\mongo\Query  $query, boolean  $replace = null, boolean  $getLastInsID = false) : \think\mongo\WriteResult

插入记录

Parameters

\think\mongo\Query $query

查询对象

boolean $replace

是否replace(目前无效)

boolean $getLastInsID

返回自增主键

Throws

\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException
\MongoDB\Driver\Exception\BulkWriteException

Returns

\think\mongo\WriteResult

getLastInsID()

getLastInsID(  $sequence = null) : mixed

获取最近插入的ID

Parameters

$sequence

Returns

mixed

insertAll()

insertAll(\think\mongo\Query  $query, mixed  $dataSet) : integer

批量插入记录

Parameters

\think\mongo\Query $query

查询对象

mixed $dataSet

数据集

Throws

\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException
\MongoDB\Driver\Exception\BulkWriteException

Returns

integer

update()

update(\think\mongo\Query  $query) : integer

更新记录

Parameters

\think\mongo\Query $query

查询对象

Throws

\think\Exception
\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException
\MongoDB\Driver\Exception\BulkWriteException

Returns

integer

delete()

delete(\think\mongo\Query  $query) : integer

删除记录

Parameters

\think\mongo\Query $query

查询对象

Throws

\think\Exception
\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException
\MongoDB\Driver\Exception\BulkWriteException

Returns

integer

getCursor()

getCursor(\think\mongo\Query  $query) : \MongoDB\Driver\Cursor

执行查询但只返回Cursor对象

Parameters

\think\mongo\Query $query

查询对象

Returns

\MongoDB\Driver\Cursor

select()

select(\think\mongo\Query  $query) : \think\Collection|false|\MongoDB\Driver\Cursor|string

查找记录

Parameters

\think\mongo\Query $query

查询对象

Throws

\think\mongo\ModelNotFoundException
\think\mongo\DataNotFoundException
\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException

Returns

\think\Collection|false|\MongoDB\Driver\Cursor|string

find()

find(\think\mongo\Query  $query) : array|null|\MongoDB\Driver\Cursor|string|\think\mongo\Model

查找单条记录

Parameters

\think\mongo\Query $query

查询对象

Throws

\think\mongo\ModelNotFoundException
\think\mongo\DataNotFoundException
\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException

Returns

array|null|\MongoDB\Driver\Cursor|string|\think\mongo\Model

getTableInfo()

getTableInfo(string  $tableName, string  $fetch = '') : mixed

获取数据表信息

Parameters

string $tableName

数据表名 留空自动获取

string $fetch

获取信息类型 包括 fields type pk

Returns

mixed

value()

value(\think\mongo\Query  $query, string  $field, mixed  $default = null) : mixed

得到某个字段的值

Parameters

\think\mongo\Query $query
string $field

字段名

mixed $default

默认值

Returns

mixed

column()

column(\think\mongo\Query  $query, string  $field, string  $key = '') : array

得到某个列的数组

Parameters

\think\mongo\Query $query
string $field

字段名 多个字段用逗号分隔

string $key

索引

Returns

array

cmd()

cmd(\think\mongo\Query  $query, string|array|object  $command, mixed  $extra = null, string  $db = null) : array

执行command

Parameters

\think\mongo\Query $query

查询对象

string|array|object $command

指令

mixed $extra

额外参数

string $db

数据库名

Returns

array

getPk()

getPk(string  $tableName) : string|array

获取数据表的主键

Parameters

string $tableName

数据表名

Returns

string|array

getTableFields()

getTableFields(  $tableName) 

Parameters

$tableName

getFieldsType()

getFieldsType(  $tableName) 

Parameters

$tableName

startTrans()

startTrans() : void

启动事务

Throws

\PDOException
\Exception

commit()

commit() : void

用于非自动提交状态下面的查询提交

Throws

\think\mongo\PDOException

rollback()

rollback() : void

事务回滚

Throws

\think\mongo\PDOException

__destruct()

__destruct() 

析构方法

getResult()

getResult(boolean|string  $class = '', string|array  $typeMap = null) : mixed

获得数据集

Parameters

boolean|string $class

true 返回Mongo cursor对象 字符串用于指定返回的类名

string|array $typeMap

指定返回的typeMap

Returns

mixed

triggerSql()

triggerSql(string  $sql, float  $runtime, mixed  $options = array()) : boolean

触发SQL事件

Parameters

string $sql

SQL语句

float $runtime

SQL运行时间

mixed $options

参数

Returns

boolean

debug()

debug(boolean  $start, string  $sql = '') : void

数据库调试 记录当前SQL及分析性能

Parameters

boolean $start

调试开始标记 true 开始 false 结束

string $sql

执行的SQL语句 留空自动获取

initConnect()

initConnect(boolean  $master = true) : void

初始化数据库连接

Parameters

boolean $master

是否主服务器

multiConnect()

multiConnect(boolean  $master = false) : \MongoDB\Driver\Manager

连接分布式服务器

Parameters

boolean $master

主服务器

Returns

\MongoDB\Driver\Manager

cacheData()

cacheData(string  $key, mixed  $data, array  $config = array()) 

缓存数据

Parameters

string $key

缓存标识

mixed $data

缓存数据

array $config

缓存参数

getCacheKey()

getCacheKey(mixed  $value, array  $options) 

生成缓存标识

Parameters

mixed $value

缓存数据

array $options

缓存参数

convertObjectID()

convertObjectID(array  $data) : void

ObjectID处理

Parameters

array $data

buildUrl()

buildUrl() : string

根据配置信息 生成适用于连接复制集的 URL

Returns

string

parseConfig()

parseConfig(mixed  $config) : array

数据库连接参数解析

Parameters

mixed $config

Returns

array

parseDsnConfig()

parseDsnConfig(string  $dsnStr) : array

DSN解析 格式: mysql://username:passwd@localhost:3306/DbName?param1=val1&param2=val2#utf8

Parameters

string $dsnStr

Returns

array