phpからmongodbにinsert

$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['visit' => 'new user', 'referrer'=>'/']);
$mng->executeBulkWrite('app.na007', $bulk);

echo "finished";

入りました。

phpのデータが配列の場合、そのままinsertできます。

$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$array = array('visit' => 'return user', 'referrer'=>'/index.php');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert($array);
$mng->executeBulkWrite('app.na007', $bulk);

echo "finished";

素晴らしい!いいですね♪

ちなみに、既にあるcollectionと同じcollectionをつくろうとすると、
以下のように、already existsとなります。
> db.createCollection(‘na007’);
{ “ok” : 0, “errmsg” : “collection already exists”, “code” : 48 }

新しく008のcollectionにdocumentを入れたい場合
->コードに変更なし

$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$array = array('visit' => 'return user', 'referrer'=>'/index.php');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert($array);
$mng->executeBulkWrite('app.na008', $bulk);

echo "finished";

あ、nosqlなので、mysqlのようにifexistでtableを取得して、なければtableをcreate なんて必要はないんでした。完全に忘れていました。なんか、rubyを始めて触った時と同じような感覚になります。