2016-11-22 17 views
0

私たちはphp mongo extをインストールして、作曲家を設定しました。私のPHPコードでphp 7 mongodb collection insert

https://github.com/alcaeus/mongo-php-adapter

私はこのている:

require_once 'vendor/autoload.php'; 

$m = new MongoDB\Client("mongodb://host1,host2", array ('replicaSet' => 'host-set-01')); 
$document = array(....); 
$db->mycollection->insert($document); 

をそしてそれは、このエラーを返しました:

PHP Fatal error: Uncaught Error: Call to undefined method MongoDB\Collection::insert()

しかし、アダプタのフォルダの中に私は、そのコレクション内のinsert()を参照くださいクラスMongo/MongoCollection.php

誰でもmongodb/adapterで作業していますか?

+0

この問題に対して正しい修正を投稿してください。 – Nadeshwaran

答えて

0

https://github.com/alcaeus/mongo-php-adapter)にリンクするライブラリのクライアントは、MongoDB\Clientではなく、\MongoClientです。

クラス\MongoCollectionMongoDB\Collectionではありません。ご了承ください。

あなたがリンクしているライブラリではなく、MongoのPHP拡張版を使用しようとしていると思います。

1

代わりにinsertOne()またはinsertMany()をお試しください。

1

これはあなたを助けるかもしれない:

 

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

    $doc = array(
     'id'  => new MongoDB\BSON\ObjectID,  #Generate MongoID 
     'name' => 'harry', 
     'age'  => 14, 
     'roll_no' => 1 
    ); 

    $bulk->insert($doc); 
    $mongo->executeBulkWrite('schooldb.student', $bulk); # 'schooldb' is database and 'student' is collection. 

ここでは、挿入を行い、更新し、1または複数のドキュメントを使用して操作を削除することができますBulkWriterを使用することにより。