public function runMongoQuery($tableName, $condition = [], $queryOptions = [], $useMaster = false)
{
Cml::$debug && $this->debugLogSql('Query', $tableName, $condition, $queryOptions);
$this->reset();
$db = $useMaster ? $this->getMaster()->selectServer(new ReadPreference(ReadPreference::RP_PRIMARY_PREFERRED)) : $this->getSlave()->selectServer(new ReadPreference(ReadPreference::RP_SECONDARY_PREFERRED));
$cursor = $db->executeQuery($this->getDbName() . ".{$tableName}", new Query($condition, $queryOptions));
$cursor->setTypeMap(['root' => 'array', 'document' => 'array']);
$result = [];
foreach ($cursor as $collection) {
$result[] = $collection;
}
return $result;
}