Docs Menu
Docs Home
/ / /
Lambda MongoDB
/

MongoDB へのデータの書込み (write)

1

app/Http/ControllersディレクトリにあるMovieController.phpファイル内の store()メソッドを、次のコードで置き換えます。

public function store(Request $request)
{
$data = $request->all();
$movie = new Movie();
$movie->fill($data);
$movie->save();
}
2

次のコマンドを実行して API ルート ファイルを生成します。

php artisan install:api

Tip

Lambda 10 .x を使用している場合は、コマンドが生成する ファイルがすでに存在するため、この手順をスキップします。

コントローラーをインポートし、 routes/api.phpファイルにstore()メソッドを呼び出す API ルートを追加します。

use App\Http\Controllers\MovieController;
// ...
Route::resource('movies', MovieController::class)->only([
'store'
]);
3

次のコードに示すように、 app/Modelsディレクトリ内のMovieモデルを更新して、 fill()メソッドが入力するフィールドを指定します。

class Movie extends Model
{
protected $connection = 'mongodb';
protected $fillable = ['title', 'year', 'runtime', 'imdb', 'plot'];
}
4

movie.jsonというファイルを作成し、次のデータを挿入します。

{
"title": "The Laravel MongoDB Quick Start",
"year": 2024,
"runtime": 15,
"imdb": {
"rating": 9.5,
"votes": 1
},
"plot": "This movie entry was created by running through the Laravel MongoDB Quick Start tutorial."
}

shell で次のコマンドを実行して、JSON ペイロードをPOSTリクエストとしてエンドポイントに送信します。

curl -H "Content-Type: application/json" --data @movie.json http://localhost:8000/api/movies
5

ウェブ ブラウザで http://127.0.0.1 :8000 /browse_movies を開き、送信した映画情報を表示します。挿入された映画は、結果の上部に表示されます。

注意

問題が発生した場合は、 MongoDB Community フォーラムでサポートを依頼するか、ページの右側または右下にある Rate this pageタブを使用してフィードバックを送信してください。

戻る

MongoDB データを表示