Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
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

Open http://127.0.0.1:8000/browse_movies in your web browser to view the movie information that you submitted. The inserted movie appears at the top of the results.

注意

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

戻る

データを表示