updated 2018/1/5
Installation
Laravel Configuration
@config\app.php
add the service provider
Jenssegers\Mongodb\MongodbServiceProvider::class,
@config/database.php
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST', 'localhost'),
'port' => env(27017),
'database' => env('DB_DATABASE'),
// 'username' => env('DB_USERNAME'),
// 'password' => env('DB_PASSWORD'),
'options' => [
'database' => 'admin' // sets the authentication database required by mongo 3
]
],
参考:MongoDB \ Driver \ Exception \ AuthenticationException (11) Authentication failed.
Making Laravel Eloquent Model
php artisan make:model testMongo
@app\testMongo.php
namespace App;
use Illuminate/Database/Eloquent/Model;
use Moloquent;
class testMongo extends Moloquent
{
protected $connection = 'mongodb', // if use multiple dbs
protected $collection = 'testMongo' // define the collection
}
参考:
Making Laravel Migration file
php artisan make:migration create_testMongo_table
or
php artisan make:model testMongo -m
@database/migrations/timestamp_create_testMongo_table.php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTestMongoTable extends Migration
{
public function up()
{
Schema::connection('mongodb')->create('testMongo', function(Blueprint table) {
$table->increments('id');
$table->timestamps();
$table->text('body');
)};
}
public function down()
{
Schema::connection('mongodb')->drop('testMongo');
}
}
* using multiple databases
* DON'T use dropIfExists
参考:
./mongod mongoDBを起動
mongo mongoシェルを起動
env('DB_DATABASE') は c9 なので
mongo shell 上で
> use c9
> db.testMongo.insertOne(
{
body: "test mongo operation",
id: 1
}
)
参考:
MongoDB CRUD Operations — MongoDB Manual 3.6
Laravel tinker で確認
php artisan tinker
>> $test = App\testMongo::get()