abishekrsrikaanth/mongohq-api

MongoHQ API 的 Laravel 4 集成

dev-master 2013-10-13 08:40 UTC

This package is auto-updated.

Last update: 2024-09-14 05:54:20 UTC


README

##MongoHQ API 的 Laravel 4 集成

Bitdeli Badge endorse

###安装 将 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 所需的密码散列。