라이브러리

[PHP] Schema::createCollection - 스키마에 컬렉션 추가




PHP에서 Schema::createCollection

Mongoose는 MongoDB와 같은 NoSQL 데이터베이스를 위한 ORM(Object-Relational Mapping) 라이브러리입니다. PHP에서 MongoDB를 사용하기 위해 Mongoose를 사용할 수 있습니다. Mongoose는 Schema를 사용하여 데이터베이스 스키마를 정의할 수 있습니다.

Schema::createCollection

`Schema::createCollection` 메소드는 새로운 컬렉션을 생성합니다. 이 메소드는 다음과 같은 형식으로 사용할 수 있습니다.

#hostingforum.kr
php

use MongoDBDriverManager;

use MongoDBDriverBulkWrite;

use MongoDBDriverWriteConcern;



$manager = new Manager("mongodb://localhost:27017");

$db = $manager->db("mydatabase");

$collection = $db->createCollection("mycollection");



이 예제는 새로운 데이터베이스 `mydatabase`와 컬렉션 `mycollection`을 생성합니다.

Schema 정의

Schema는 데이터베이스 컬렉션의 스키마를 정의합니다. 예를 들어, 다음은 사용자 컬렉션의 스키마를 정의하는 예제입니다.

#hostingforum.kr
php

use MongoDBBSONUTCDateTime;



$manager = new Manager("mongodb://localhost:27017");

$db = $manager->db("mydatabase");

$collection = $db->createCollection("users");



$usersSchema = [

    "name" => [

        "type" => "string",

        "required" => true

    ],

    "email" => [

        "type" => "string",

        "required" => true,

        "unique" => true

    ],

    "password" => [

        "type" => "string",

        "required" => true

    ],

    "createdAt" => [

        "type" => "date",

        "default" => new UTCDateTime()

    ]

];



$collection->createIndex(["email" => 1], ["unique" => true]);



이 예제는 사용자 컬렉션의 스키마를 정의하고, 이메일 필드에 대한 유니크 인덱스를 생성합니다.

데이터 삽입

데이터를 삽입할 때, Schema를 사용하여 데이터를 유효성 검사를 할 수 있습니다.

#hostingforum.kr
php

$users = [

    "name" => "John Doe",

    "email" => "john@example.com",

    "password" => "password123"

];



$collection->insertOne($users);



이 예제는 사용자 데이터를 삽입합니다.

데이터 조회

데이터를 조회할 때, Schema를 사용하여 데이터를 필터링할 수 있습니다.

#hostingforum.kr
php

$users = $collection->find(["email" => "john@example.com"]);



이 예제는 이메일이 `john@example.com`인 사용자 데이터를 조회합니다.

결론

Mongoose는 MongoDB와 같은 NoSQL 데이터베이스를 위한 ORM 라이브러리입니다. PHP에서 MongoDB를 사용하기 위해 Mongoose를 사용할 수 있습니다. Schema::createCollection 메소드는 새로운 컬렉션을 생성하고, Schema를 사용하여 데이터베이스 스키마를 정의할 수 있습니다. 데이터 삽입과 조회를 할 때, Schema를 사용하여 데이터를 유효성 검사를 할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 265 페이지

검색

게시물 검색