本文整理汇总了PHP中MongoClient类的典型用法代码示例。如果您正苦于以下问题:PHP MongoClient类的具体用法?PHP MongoClient怎么用?PHP MongoClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MongoClient类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: sendMongo
function sendMongo($steamId, $type)
{
//function mongoConnect($steamId,$type,$collection){
switch ($type) {
case 1:
//gets the player Summaries
$fetch_pInfo = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?\t\tkey=238E8D6B70BF7499EE36312EF39F91AA&steamids={$steamId}";
break;
case 2:
//gets the players Game Library
$fetch_pInfo = "http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=238E8D6B70BF7499EE36312EF39F91AA&steamid={$steamId}&format=json";
break;
/*
case 3://gets the players achievements
//steam api for players achievements.
break;
case 4://may have to get other stats,
//will use this maybe for players over all steam rank.
break;
*/
}
//end switch data
$jsonO = file_get_contents($fetch_pInfo);
var_dump($jsonO);
$connection = new MongoClient("mongodb://alex:[email protected]:41643/steamdata");
$mongodb = $connection->selectDB('steamdata');
$collection = new MongoCollection($mongodb, 'gameLibrary');
//var_dump($connection);
//var_dump($collection);
$send = array();
$send["_id"] = $steamId;
$send["info"] = $jsonO;
$collection->insert($send);
}
开发者ID:Orebix,项目名称:backendFinal,代码行数:34,代码来源:mongoconnect.php
示例2: like
function like($user, $id, $channel)
{
try {
$conn = new MongoClient();
$db = $conn->site;
$collection = $db->users;
$testquery = array('user_name' => $user);
$cursor = $collection->find($testquery);
if ($cursor->count() == 0) {
$info = array('user_name' => $user, '_id' => $id, 'likes' => 1);
$collection->insert($info);
$collection->update(array('user_name' => $user), array('$addToSet' => array('liked_channels' => $channel)));
echo "liked";
} else {
$collection->update(array('user_name' => $user), array('$inc' => array('likes' => 1)));
$collection->update(array('user_name' => $user), array('$addToSet' => array('liked_channels' => $channel)));
//$collection->update(array('user_name' => $user), array('$addToSet' => array('liked_channels' => $channel), '$setOnInsert' => array('$inc' => array('likes' => 1))), array('upsert' => true));
echo "liked";
}
$conn->close();
} catch (MongoConnectionException $e) {
echo 'Error connecting to MongoDB server';
} catch (MongoException $e) {
echo 'Error somewhere else with mongo';
}
//die('Error: ' . $e->getMessage()); }
exit;
}
开发者ID:peruginim,项目名称:StreamPursuit,代码行数:28,代码来源:like.php
示例3: execute
public function execute()
{
parent::execute();
// Make sure all required parameters are used
$required_parameters = array('id');
foreach ($required_parameters as $parameter) {
if (!array_key_exists($parameter, $_GET)) {
echo json_encode(array('error' => 'Missing parameter: \'' . $parameter . '\''));
exit;
}
}
// Initialize database
try {
$m = new \MongoClient('mongodb://' . MONGODB_USERNAME . ':' . MONGODB_PASSWORD . '@' . MONGODB_HOST . '/' . MONGODB_DATABASE);
$db = $m->selectDB(MONGODB_DATABASE);
} catch (MongoConnectionException $e) {
echo json_encode(array('error' => 'Database connection failed, please try again later'));
exit;
}
// Query database
$result = $db->interactions->findOne(array('_id' => new MongoId($_GET['id'])));
// Output JSON data
if (is_null($result)) {
echo json_encode(array('error' => 'Message doesn\'t exist'));
} else {
echo json_encode($result);
}
}
开发者ID:wisutsak,项目名称:ElectionDesk,代码行数:28,代码来源:Message.php
示例4: __construct
function __construct($databaseName)
{
$server = "mongodb://localhost:27017/";
$m = new MongoClient($server);
$this->db = $m->selectDB($databaseName);
$this->postsCollection = $this->db->selectCollection('testposts');
}
开发者ID:sebcarss,项目名称:ProgrammingScarss,代码行数:7,代码来源:DB.class.php
示例5: setupmongo
function setupmongo()
{
//sets up a mongo connection
$mongo = new MongoClient("mongodb://technicolor:testbed@localhost/backendtest");
$collection = $mongo->selectDB('backendtest')->selectCollection('user');
return $collection;
}
开发者ID:jabdo,项目名称:technicolortestserver,代码行数:7,代码来源:login.php
示例6: setDatabase
function setDatabase($di, $host, $db)
{
$di->set('api_db', function () use($host, $db) {
$mongo = new MongoClient($host);
return $mongo->selectDB($db);
}, true);
}
开发者ID:AleHHHG,项目名称:api_sualoja,代码行数:7,代码来源:index.php
示例7: register
/**
* {@inheritdoc}
* @see http://docs.phalconphp.com/pl/latest/reference/odm.html
*/
public function register(DiInterface $di)
{
$di->set(self::SERVICE_NAME, function () use($di) {
$mongoConfig = $di->get('config')->mongo->toArray();
if (isset($mongoConfig['dsn'])) {
$hostname = $mongoConfig['dsn'];
unset($mongoConfig['dsn']);
} else {
//obtains hostname
if (isset($mongoConfig['host'])) {
$hostname = 'mongodb://' . $mongoConfig['host'];
} else {
$hostname = 'mongodb://localhost';
}
if (isset($mongoConfig['port'])) {
$hostname .= ':' . $mongoConfig['port'];
}
//removes options that are not allowed in MongoClient constructor
unset($mongoConfig['host']);
unset($mongoConfig['port']);
}
$dbName = $mongoConfig['dbname'];
unset($mongoConfig['dbname']);
$mongo = new \MongoClient($hostname, $mongoConfig);
return $mongo->selectDb($dbName);
}, true);
}
开发者ID:maniolek,项目名称:vegaser,代码行数:31,代码来源:MongoServiceProvider.php
示例8: __construct
/**
* $dsn has to contain db_name after the host. E.g. "mongodb://localhost:27017/mongo_test_db"
*
* @static
*
* @param $dsn
* @param $user
* @param $password
*
* @throws ModuleConfigException
* @throws \Exception
*/
public function __construct($dsn, $user, $password)
{
/* defining DB name */
$this->dbName = substr($dsn, strrpos($dsn, '/') + 1);
if (strlen($this->dbName) == 0) {
throw new ModuleConfigException($this, 'Please specify valid $dsn with DB name after the host:port');
}
/* defining host */
if (false !== strpos($dsn, 'mongodb://')) {
$this->host = str_replace('mongodb://', '', $dsn);
} else {
$this->host = $dsn;
}
$this->host = rtrim(str_replace($this->dbName, '', $this->host), '/');
$options = ['connect' => true];
if ($user && $password) {
$options += ['username' => $user, 'password' => $password];
}
try {
$m = new \MongoClient($dsn, $options);
$this->dbh = $m->selectDB($this->dbName);
} catch (\MongoConnectionException $e) {
throw new ModuleException($this, sprintf('Failed to open Mongo connection: %s', $e->getMessage()));
}
$this->dsn = $dsn;
$this->user = $user;
$this->password = $password;
}
开发者ID:codeception,项目名称:base,代码行数:40,代码来源:MongoDb.php
示例9: register
public function register(Application $app, array $config = [])
{
// apply default options
$defaultClientOptions = ['server' => 'mongodb://localhost:27017', 'options' => ['connect' => true], 'driver_options' => []];
if (isset($app['mongodb.mongo_client_options'])) {
$app['mongodb.mongo_client_options'] = array_merge($defaultClientOptions, $app['mongodb.mongo_client_options']);
} else {
$app['mongodb.mongo_client_options'] = $defaultClientOptions;
}
// apply config parameter
if (isset($config['mongodb.mongo_client_options'])) {
$app['mongodb.mongo_client_options'] = array_merge($app['mongodb.mongo_client_options'], $config['mongodb.mongo_client_options']);
}
if (isset($config['mongodb.db'])) {
$app['mongodb.db'] = $config['mongodb.db'];
}
// create service container
$app['mongodb.mongo_client'] = $app->share(function () use($app) {
$mongoClient = new \MongoClient($app['mongodb.mongo_client_options']['server'], $app['mongodb.mongo_client_options']['options'], $app['mongodb.mongo_client_options']['driver_options']);
if (isset($app['mongodb.db'])) {
$mongoClient->selectDB($app['mongodb.db']);
}
return $mongoClient;
});
}
开发者ID:myurasov,项目名称:silex-mongodb-provider,代码行数:25,代码来源:MongoClientProvider.php
示例10: connect
public function connect()
{
// Connect to the database and return the collection
$mongo = new MongoClient('mongodb://localhost');
$db = $mongo->selectDB('test');
return $db->selectCollection('locations');
}
开发者ID:Varsha-Arun,项目名称:sample_php_mongo,代码行数:7,代码来源:ConnectToMongo.php
示例11: get_connection
function get_connection()
{
$connecting_string = sprintf('mongodb://%s:%d/%s', HOST, POST, DB);
$connection = new MongoClient($connecting_string);
$connection->selectDB("test");
return $connection;
}
开发者ID:jdla1990,项目名称:PhpAngularMongo,代码行数:7,代码来源:mongo.php
示例12: getConnection
function getConnection($cache = false)
{
static $first;
$conf = new \ActiveMongo2\Configuration(__DIR__ . "/tmp/mapper.php");
$conf->addModelPath(__DIR__ . '/docs')->development();
if (!empty($_SERVER["NAMESPACE"])) {
if (!$first) {
print "Using namespace {$_SERVER['NAMESPACE']}\n";
}
$conf->SetNamespace($_SERVER["NAMESPACE"]);
}
if (!$first) {
$mongo = new MongoClient();
$mongo->selectDB('activemongo2_tests')->drop();
$mongo->selectDB('activemongo2_tests_foobar')->drop();
$config = new ActiveMongo2\Configuration();
unlink($config->getLoader());
}
if (empty($_SERVER["NAMESPACE"])) {
$zconn = new \ActiveMongo2\Client(new MongoClient(), 'activemongo2_tests', __DIR__ . '/docs');
} else {
$zconn = new \ActiveMongo2\Connection($conf, new MongoClient(), 'activemongo2_tests');
}
$zconn->AddConnection('foobar', new MongoClient(), 'activemongo2_tests_foobar', 'zzzz');
if ($cache) {
$zconn->setCacheStorage(new \ActiveMongo2\Cache\Storage\Memory());
}
$first = true;
return $zconn;
}
开发者ID:crodas,项目名称:activemongo2,代码行数:30,代码来源:bootstrap.php
示例13: connect
public function connect($servers, $options = null)
{
if (empty($servers)) {
$this->error('not enough information to connect to mongodb.');
}
if (empty($options)) {
$options = array('connect' => true);
}
// checking dependency
if (!class_exists('MongoClient')) {
$this->error('no mongo client class. remember to sudo pecl install mongo.');
}
try {
$connection = new MongoClient($servers, $options);
$ok = $connection->connect();
if (!$ok) {
$this->error('could not connect to mongo.');
}
self::$___connection = $connection;
} catch (Exception $e) {
$this->error('couldn\'t connect to the mongo:' . $e->getMessage());
}
$this->log('connected to ' . $servers . '.');
return self::$___connection;
}
开发者ID:nsimaria,项目名称:fabstract,代码行数:25,代码来源:FMongo.php
示例14: goForIt
function goForIt()
{
$mongo = new MongoClient();
$emails = $mongo->selectDB('emails_tester')->selectCollection('emails');
$servers = ['tcp://gmail-smtp-in.l.google.com:25', 'tcp://alt1.gmail-smtp-in.l.google.com:25', 'tcp://alt2.gmail-smtp-in.l.google.com:25', 'tcp://alt3.gmail-smtp-in.l.google.com:25', 'tcp://alt4.gmail-smtp-in.l.google.com:25'];
/** @var Client[] $clients */
$clients = [];
$loop = React\EventLoop\Factory::create();
$logger = new \Zend\Log\Logger();
$writer = new \Zend\Log\Writer\Stream('php://output');
$logger->addWriter($writer);
$logger->info('Creating clients.');
$start = microtime(1);
$checked = 0;
for ($i = 0; $i < 100; $i++) {
$client = new Client($loop, function ($record) use(&$checked, $emails, $start, $logger) {
$record['state'] = 'valid';
$emails->save($record);
$checked++;
if ($checked % 1000 == 0) {
$logger->info("Checked: {$checked}. Speed: " . $checked / (microtime(1) - $start) . " emails/sec.");
}
}, function ($record, $reason) use(&$checked, $emails, $start, $logger) {
$record['state'] = 'invalid';
$emails->save($record);
if ($reason !== false) {
$logger->warn("Email <{$record['email']}> failed check: {$reason}");
}
$checked++;
if ($checked % 1000 == 0) {
$logger->info("Checked: {$checked}. Speed: " . $checked / (microtime(1) - $start) . " emails/sec.");
}
});
$clients[] = $client;
}
$logger->info('Done.');
$loop->addPeriodicTimer(0.001, function () use($clients, $emails, $servers, $logger) {
foreach ($clients as $c) {
if ($c->getState() === Client::STATE_DISCONNECTED) {
$logger->info(spl_object_hash($c) . ": connecting...");
$c->connect($servers[mt_rand(0, count($servers) - 1)]);
return;
}
if ($c->getState() === Client::STATE_BUSY) {
continue;
}
if ($c->getState() === Client::STATE_IDLE) {
$record = $emails->findOne(['state' => ['$exists' => false]]);
if (!isset($record['email'])) {
continue;
}
$record['state'] = 'in_progress';
$emails->save($record);
$c->checkEmail($record);
continue;
}
}
});
$loop->run();
}
开发者ID:Skpd,项目名称:email_tester,代码行数:60,代码来源:tester.php
示例15: getCollection
function getCollection()
{
global $_server_name2, $_server_port2;
$m = new MongoClient("{$_server_name2}:{$_server_port2}");
$db = $m->selectDB("mysqlTableComment");
return $db->fieldComment;
}
开发者ID:sleepyycat,项目名称:WebFramework,代码行数:7,代码来源:mongoUtil.php
示例16: register
/**
* {@inheritdoc}
*/
public function register(DiInterface $di)
{
$di->set(self::SERVICE_NAME, function () use($di) {
$mongo = new \MongoClient();
return $mongo->selectDb($di->get('config')->mongo->db);
}, true);
}
开发者ID:vegas-cmf,项目名称:profiler,代码行数:10,代码来源:MongoServiceProvider.php
示例17: getDriver
public function getDriver()
{
if (!$this->_driver) {
if (!isset($this->_config['handler_config'])) {
throw new Exception("Cannot found config for Mongo Session Handler");
}
$cfg = $this->_config['handler_config'];
$cfg = isset($cfg['options']) ? $cfg['options'] : array("connect" => true);
if (class_exists('Mongo')) {
$this->_driver = new \Mongo($cfg['dsn'], $cfg['options']);
} else {
if (class_exists('MongoClient')) {
$this->_driver = new \MongoClient($cfg['dsn'], $cfg['options']);
}
}
if (isset($cfg['options']['db'])) {
$db = $this->_driver->selectDB($cfg['options']['db']);
} else {
$db = $this->_driver->selectDB('session');
}
$this->_collectionName = isset($cfg['collection']) ? $cfg['collection'] : 'session_data';
$this->_collection = $db->selectCollection($this->_collectionName);
}
return $this->_driver;
}
开发者ID:quyenminh102,项目名称:flywheel-framework,代码行数:25,代码来源:Mongo.php
示例18: __construct
public function __construct()
{
parent::__construct();
$mg_instance = new MongoClient(Kohana::config('uap.mongodb'));
$mongo = $mg_instance->selectDB(MONGO_DB_FEED);
$this->mongo_deal = $mongo->selectCollection('deals');
}
开发者ID:momoim,项目名称:momo-api,代码行数:7,代码来源:deal.php
示例19: MDB
public static function MDB()
{
// C('Mongo')['username'];
// C('Mongo')['password'];
$connection = new MongoClient(C('Mongo')['host']);
return $connection->selectDB(C('Mongo')['database_name']);
}
开发者ID:hj624608494,项目名称:love-journey,代码行数:7,代码来源:Umongo.php
示例20: factory
public static function factory($cfg)
{
if ($cfg instanceof Traversable) {
$cfg = ArrayUtils::iteratorToArray($cfg);
}
if (!is_array($cfg)) {
throw new \Exception('配置信息未设定');
}
if (!isset($cfg['cluster']) || empty($cfg['cluster'])) {
throw new \Exception('配置信息中缺少cluster参数');
}
$options = array();
//$options['connectTimeoutMS'] = 60000;
//$options['socketTimeoutMS'] = 60000;
//$options['w'] = 1;
// $options['w'] = 3;
//$options['wTimeout'] = 60000;
if (isset($cfg['options']) && !empty($cfg['options'])) {
$options = array_merge($options, $cfg['options']);
}
if (!isset($cfg['cluster']['default']) || empty($cfg['cluster']['default'])) {
throw new \Exception('配置信息中缺少cluster.default参数');
}
$cluster = array();
foreach ($cfg['cluster'] as $clusterName => $clusterInfo) {
try {
shuffle($clusterInfo['servers']);
$dnsString = 'mongodb://' . join(',', $clusterInfo['servers']);
if (class_exists('\\MongoClient')) {
$connect = new \MongoClient($dnsString, $options);
$connect->setReadPreference(\MongoClient::RP_PRIMARY_PREFERRED);
// 读取数据主优先
// $connect->setReadPreference(\MongoClient::RP_SECONDARY_PREFERRED);//读取数据从优先
$cluster[$clusterName]['connect'] = $connect;
} else {
throw new \Exception('请安装PHP的Mongo1.4+版本的扩展');
}
} catch (\Exception $e) {
if ($clusterName == 'default') {
throw new \Exception('无法与Mongodb建立连接' . $e->getMessage());
} else {
break;
}
}
try {
if (is_array($clusterInfo['dbs']) && !empty($clusterInfo['dbs']) && $connect instanceof \MongoClient) {
foreach ($clusterInfo['dbs'] as $db) {
$cluster[$clusterName]['dbs'][$db] = $connect->selectDB($db);
}
} else {
throw new \Exception('请设定cluster.name.dbs');
}
} catch (\Exception $e) {
throw new \Exception('已经建立连接,但是无法访问指定的数据库');
}
unset($connect);
}
return new Config($cluster);
}
开发者ID:im286er,项目名称:ent,代码行数:59,代码来源:Mongo.php
注:本文中的MongoClient类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论