MongoDB::__construct
MongoDB::createDBRef
MongoDB
PHP Manual

# MongoDB::createCollection

(PECL mongo >=0.9.0)

MongoDB::createCollection — コレクションを作成する

### 説明

public MongoCollection MongoDB::createCollection ( string `$name` [, bool `$capped` = `FALSE` [, int `$size` = 0 [, int `$max` = 0 ]]] )

このメソッドを使って、固定サイズのコレクションや 特別なオプションを要するその他のコレクションを作成します。 これは、次の操作と同じ意味です。

`<?php
$collection = $db->command(array("create" => $name, "size" => $size, "capped" => $capped, "max" => $max));
?>`
データベースコマンドについての詳細な情報は MongoDB::command() を参照ください。

### パラメータ

`name`

  コレクションの名前。

`capped`

  コレクションが固定サイズかどうか。

`size`

  コレクションが固定サイズの場合にそのバイト数を指定します。

`max`

  コレクションが固定サイズの場合に、コレクション内に格納できる要素の最大数。

### 返り値

新しいコレクションをあらわすコレクションオブジェクトを返します。

### 例

例1 MongoDB::createCollection() での固定サイズコレクションの例

固定サイズのコレクションは特別な形式のコレクションで、 固定長あるいは決まった数の要素を持ちます。 コレクションがいっぱいになると、 新しい要素が追加されたときにいちばん古いものから削除されていきます。 固定サイズのコレクションは、ログ記録などのアプリケーションで有用です。 ログ用の領域をいちど確保しておけば、それが大きくなりすぎることを気にせずにすみます。

この例は、最大で 10 のドキュメントを保持する小さなログコレクションを作ります。

`<?php
$log = $db->createCollection("logger", true, 10*1024, 10);
for ($i = 0; $i < 100; $i++) {
$log->insert(array("level" => WARN, "msg" => "sample log message #$i", "ts" => new MongoDate()));
}
$msgs = $log->find();
foreach ($msgs as $msg) {
echo $msg['msg']."\n";
}
?>`

上の例の出力は、 たとえば以下のようになります。

sample log message #90
sample log message #91
sample log message #92
sample log message #93
sample log message #94
sample log message #95
sample log message #96
sample log message #97
sample log message #98
sample log message #99

MongoDB::__construct
MongoDB::createDBRef
MongoDB
PHP Manual