라이브러리
[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를 사용하여 데이터를 유효성 검사를 할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.