abishekrsrikaanth / mongohq-api
MongoHQ API 的 Laravel 4 集成
dev-master
2013-10-13 08:40 UTC
Requires
- php: >=5.3.0
- guzzle/guzzle: 3.7.*@dev
- illuminate/support: 4.0.x
This package is auto-updated.
Last update: 2024-09-14 05:54:20 UTC
README
##MongoHQ API 的 Laravel 4 集成
###安装 将 abishekrsrikaanth/mongohq-api 添加到 composer.json 作为需求
{
...
"require": {
...
"abishekrsrikaanth/mongohq-api": "dev-master"
...
},
}
更新 composer
$ php composer.phar update
将提供者添加到 app/config/app.php
'providers' => array(
...
'Abishekrsrikaanth\MongohqApi\MongohqApiServiceProvider',
),
以及 Facade 信息在 app/config/app.php 上
'aliases' => array(
...
'MongoHQ' => 'Abishekrsrikaanth\MongohqApi\Facades\MongohqApi',
),
发布配置并设置 API 密钥
php artisan config:publish abishekrsrikaanth/mongohq-api
###使用
初始化数据库对象
如果 MongoHQ API 密钥配置在 发布的配置文件 上
$db = MongoHQ::Database();
动态传递 MongoHQ API 密钥
$db = MongoHQ::Database('API_KEY_GOES_HERE')
初始化集合对象
如果 MongoHQ API 密钥配置在 发布的配置文件 上
$coll = MongoHQ::Collections();
动态传递 MongoHQ API 密钥
$coll = MongoHQ::Collections('API_KEY_GOES_HERE')
初始化索引对象
如果 MongoHQ API 密钥配置在 发布的配置文件 上
$idx = MongoHQ::Indexes();
初始化用户对象
如果 MongoHQ API 密钥配置在 发布的配置文件 上
$idx = MongoHQ::Users();
动态传递 MongoHQ API 密钥
$idx = MongoHQ::Indexes('API_KEY_GOES_HERE')
API 密钥可以传递给上述所有初始化
###数据库
####获取数据库列表
$db = MongoHQ::Database(); //Initializes the Database Class
$db->get();
####创建数据库
$db = MongoHQ::Database();
$db->create('DB_NAME','PLAN_TO_USE');
####获取 DB 信息
$db = MongoHQ::Database();
$db->info('DB_NAME_TO_GET_THE_INFO');
####删除数据库
$db = MongoHQ::Database();
$db->drop('DB_NAME_TO_GET_THE_INFO');
###集合
####获取集合列表
$coll = MongoHQ::Collections(); //Initializes the Database Class
$coll->get('DB_NAME_TO_GET_THE_LIST_COLLECTIONS');
####创建集合
$coll = MongoHQ::Collections();
$coll->create('DB_NAME_TO_CREATE_THE_COLLECTION_ON','COLLECTION_NAME');
####获取集合统计信息
$coll = MongoHQ::Collections();
$coll->stats('DB_NAME','COLLECTION_NAME_TO_GET_STATS');
####重命名集合
$coll = MongoHQ::Collections();
$coll->rename('DB_NAME','OLD_COLLECTION_NAME','NEW_COLLECTION_NAME');
####从数据库中删除集合
$coll = MongoHQ::Collections();
$coll->drop('DB_NAME','COLLECTION_NAME_TO_DROP');
###索引
####获取集合上的索引列表
$idx = MongoHQ::Indexes(); //Initializes the Database Class
$idx->get('DB_NAME','COLLECTION_NAME');
####在集合上创建索引
$idx = MongoHQ::Indexes();
$idx->create('DB_NAME','COLLECTION_NAME',
array('name'=>'1'), //IDX_SPEC - The index spec to be created. (i.e. {name:1})</dd>
array(
'background' => true, //Indicate that the index should be built in the background. (defaults to true)
'unique' => false, //If true, this index will enforce a uniqueness constraint. (defaults to false)
'drop_dups' => false, //If creating a unique index on a collection with pre-existing records,
//this option will keep the first document the database
//indexes and drop all subsequent with duplicate values. (defaults to false)
'min' => null, //Specify the minimum longitude and latitude for a geo index. (defaults to null)
'max' => null //Specify the maximum longitude and latitude for a geo index. (defaults to null)
)
);
####删除集合上的索引
$idx = MongoHQ::Indexes();
$idx->drop('DB_NAME','COLLECTION_NAME','IDX_NAME');
####删除集合上的所有索引
$idx = MongoHQ::Indexes();
$idx->dropAll('DB_NAME','COLLECTION_NAME');
###用户
####在 MongoHQ 的数据库上创建用户
$userObj = MongoHQ::Users(); //Initializes the Database Class
$userObj->create('DB_NAME','USER_NAME','PASSWORD');
创建函数将内部管理 MongoDB 所需的密码散列。