Laravel에서 MongoDB 데이터 표시
다음 페이지를 참고했습니다.
2018.02.09 Laravel5.5에서 MongoDB를 사용한 웹 사이트 작성
MongoDB 데이터 상태
$ mongosh
(省略)
test> use testDB;
switched to db testDB
testDB> db.post.find()
[
{
_id: ObjectId("609ef895eb0964e1af2f650c"),
body: 'おはよう',
date: '2018-1-10'
},
{
_id: ObjectId("609ef89deb0964e1af2f650d"),
body: 'こんにちは',
date: '2018-2-20'
},
{
_id: ObjectId("609ef8a4eb0964e1af2f650e"),
body: '今日は雨が降ってます。',
date: '2018-3-15'
}
]
testDB>
위의 데이터를 mongosh로 만드는 방법
use testDB;
db.post.insertOne({"body": "おはよう","date": "2018-1-10"});
db.post.insertOne({"body": "こんにちは","date": "2018-2-20"});
db.post.insertOne({"body": "今日は雨が降ってます。","date": "2018-3-15"});
1) 프로젝트 만들기
laravel new proj01
cd proj01
composer require "jenssegers/mongodb"
2) config/app.php 편집
'providers' => [
// 略
Jenssegers\Mongodb\MongodbServiceProvider::class,
],
'aliases' => [
// 略
'Moloquent' => Jenssegers\Mongodb\Eloquent\Model::class,
],
3) config/database.php 편집
'default' => env('DB_CONNECTION', 'mongodb'),
// 略
'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 27017),
'database' => env('DB_DATABASE', 'testDB'),
],
],
인증이 있는 경우 다음을 추가합니다.
'username' => env('DB_USERNAME','scott'),
'password' => env('DB_PASSWORD','tiger123'),
4) .env 편집
#DB_CONNECTION=mysql
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_DATABASE=homestead
#DB_USERNAME=homestead
#DB_PASSWORD=secret
DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=testDB
5) 캐시 지우기
php artisan cache:clear
6) routes/web.php 편집
routes/web.php
<?php
Route::get('/', 'App\Http\Controllers\TestController@index');
7) app/Http/Controllers/TestController.php 만들기
php artisan make:controller TestController
app/Http/Controllers/TestController.php 편집
app/Http/Controllers/TestController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Post;
class TestController extends Controller
{
static function index() {
$posts = Post::orderBy('_id', 'desc')->get();
return view('index', ['posts' => $posts]);
}
}
8) app/Post.php 만들기
MongoDB의 데이터베이스 testDB 컬렉션은 post입니다.
app/Post.php
<?php
namespace App;
class Post extends \Moloquent
{
protected $collection = 'post';
}
9) resources/views/index.blade.php 만들기
resources/views/index.blade.php
<div>全部で{{ count($posts) }}件です。</div>
<ul>
@foreach($posts as $post)
<li>{{ $post['date'] . ' | ' . $post['body'] }}</li>
@endforeach
</ul>
10) 서버 시작
php artisan serve
11) 클라이언트에서 액세스
http://localhost:8000
다음 환경에서 확인했습니다.
$ uname -a
Linux iwata 5.13.0-27-generic #29-Ubuntu SMP Wed Jan 12 17:36:47 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ php --version
PHP 8.0.8 (cli) (built: Oct 26 2021 11:42:42) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.8, Copyright (c) Zend Technologies
with Zend OPcache v8.0.8, Copyright (c), by Zend Technologies
$ php artisan --version
Laravel Framework 8.82.0
Reference
이 문제에 관하여(Laravel에서 MongoDB 데이터 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ekzemplaro/items/01ed3383856c782ee77e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)