MongoCollection
PHP Manual

MongoCollection::batchInsert

(PECL mongo >=0.9.0)

MongoCollection::batchInsert複数のドキュメントをコレクションに追加する

説明

public mixed MongoCollection::batchInsert ( array $a [, array $options = array() ] )

パラメータ

a

配列の配列。

options

追加時のオプション。

  • "safe"

    追加に成功したかどうかをチェックします。

返り値

"safe" が設定されているときは、追加の状況 ("ok") と発生したエラー ("err") を連想配列で返します。設定されていないときは、一括追加の送信に成功すれば TRUE、失敗すれば FALSE を返します。

エラー / 例外

"safe" オプションが設定されていて追加に失敗した場合に MongoCursorException をスローします。

変更履歴

バージョン 説明
1.0.5 "options" パラメータが追加されました。

例1 MongoCollection::batchInsert() の例

バッチ挿入を使用すると、多くの要素を一度にデータベースに追加できます。

<?php

$users 
= array();
for (
$i 0$i<100$i++) {
  
$users[] = array('username' => 'user'.$i'i' => $i);
}

$mongo = new Mongo();
$collection $mongo->my_db->users;
$collection->drop();

$collection->batchInsert($users);

foreach (
$users as $user) {
  echo 
$user['_id']."\n"// MongoId のインスタンスが格納されています
}

$users $collection->find()->sort(array('i' => 1));
foreach (
$users as $user) {
    
var_dump($user['username']);
}

?>

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

4bf43ac68ead0e1971000000
4bf43ac68ead0e1971010000
4bf43ac68ead0e1971020000
...
string(5) "user1"
string(5) "user2"
string(5) "user3"
...

MongoCollection
PHP Manual