Docs 菜单
Docs 主页
/ / /
Laravel MongoDB
/

将数据写入 MongoDB

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

提示

如果您使用的是 Laravel 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 数据