9

私はこのコードを実行しています:

    $db = new Mongo("mongodb://user:pw@flame.mongohq.com:27081/dbname");
    $collection = $db->foobar;

    $collection->insert($content);

ランダムなコレクションを作成するだけでmongohqをテストしようとしています。

このエラーが発生します:

Fatal error:  Call to undefined method MongoDB::insert() in /ajax/db.php on line 24

私の知る限り、クライアントをインストールしています。

代替テキスト

私もphp5.2.6を実行しています

どうしたの?ありがとう。

4

1 に答える 1

13

各DBには、1つまたは複数のコレクションが含まれています。コレクションではなく、DBに挿入しようとしています。

私はその拡張機能を使用していませんがMongoDB、ドキュメントによると、そのメソッドはクラスに存在しません。代わりに、ですMongoCollection::insert。あなたは次の方法でコレクションを入手します:

// $collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar; 
$collection->insert(array('x' => 1));

(コメント行はその下の行に相当します。)

私はあなたが次のようなことをしていると推測しています:

$collection = $mongo->foo;
$collection->insert(array('x' => 1));

(編集:あなたのコードスニペットを初めて見たわけではありません。まさにそれがあなたがしていることです。)

詳細については、チュートリアルを読むことをお勧めします。

于 2010-09-20T04:00:22.737 に答える