hobord / mongodb
MongoDb 数据库连接和模型
dev-master
2016-10-05 08:59 UTC
Requires
- php: >=5.6.4
- laravel/framework: 5.3.*
- mongodb/mongodb: ^1.0.0
Requires (Dev)
- phpunit/phpunit: @stable
This package is not auto-updated.
Last update: 2024-09-28 19:36:39 UTC
README
并在 config/app.php 中添加服务提供者
Hobord\MongoDb\MongodbServiceProvider::class,
##配置
'mongodb' => [
'driver' => 'mongodb',
'host' => env('MONGO_DB_HOST', 'localhost'),
'port' => env('MONGO_DB_PORT', 27017),
'database' => env('MONGO_DB_DATABASE'),
'username' => env('MONGO_DB_USERNAME'),
'password' => env('MONGO_DB_PASSWORD'),
'options' => [
'database' => 'admin' // sets the authentication database required by mongo 3
]
],
您可以使用以下配置连接到多个服务器或副本集
'mongodb' => [
'driver' => 'mongodb',
'host' => ['server1', 'server2'],
'port' => env('MONGO_DB_PORT', 27017),
'database' => env('MONGO_DB_DATABASE'),
'username' => env('MONGO_DB_USERNAME'),
'password' => env('MONGO_DB_PASSWORD'),
'options' => ['replicaSet' => 'replicaSetName']
],
##示例用法
namespace App;
use Hobord\MongoDb\Model\Model;
class TestModel extends Model
{
protected $table = "test_collection";
protected $schema = [
'pricing' => 'App\PricingField'
];
}
#####
namespace App;
use Hobord\MongoDb\Model\Field;
class PricingField extends Field
{
}
#####
TestModel::create([
'sku'=> '00e8da9c',
'pricing' => [
'list' => 500,
'retail' => 600,
'action' => 700
]
]);
$test = TestModel::where('sku', '00e8da9c')->first();
$test->pricing->retail = 999;
$test->karma = "ok";
$test->save();
$test = TestModel::where('pricing.retail', '>', 600)->skip(1)->take(1)->get();